Sse2::Store<false>(&(buf->data()[buf->stride(0) * y + x]), _mm256_castsi256_si128(yc));
offset 계산할 때 pitch * y + x 또는 pitch * offset 이런 형식으로 계산할 때가 많이 있는데
코드에서도 해당 형식을 꼭 유지해야 된다.
해당 형식을 유지해야 ALU를 사용하지 않고, lea 명령어로 바로 치환 되기 때문에 CPU 파이프라이닝에서 엄청난 속도 우위를 가져올수 있다. ㅇㅇ
정리 : 혹여나 곱셈 연산 안할려고 offset을 따로 빼내서 계산시키지 말것 ㅇㅅㅇ
댓글 0