AVX (2)의 내장 함수 _mm256_xor_si256과 _mm256_xor_ps 사이의 실제 차이를 찾으려고합니다._mm256_xor_si256()과 _mm256_xor_ps()의 차이점
그들은 각각 인텔의 지시에 매핑
- vpxor의 YMM, YMM, YMM
- vxorps YMM, YMM, YMM 인텔에 의해 정의된다
:
dst[255:0] := (a[255:0] XOR b[255:0])
dst[MAX:256] := 0
대
FOR j := 0 to 7
i := j*32
dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
ENDFOR
dst[MAX:256] := 0
솔직히, 나는 그 효과에 차이가 보이지 않습니까? 둘 다 xor 또는 256 비트입니다. 그러나 후자는 AVX 및 AVX2에서 사용할 수 있습니다. AVX2는 AVX2에서만 처음입니다. 더 낮은 호환성을 가진 이유는 무엇입니까?
Haswell에서 vpxor와 vxorps간에 우회 지연이 발생하지 않을 수도 있습니다. Agner는 Haswell에서 "ORPS와 같은 부동 소수점 부울 명령어가 정수 데이터와 함께 사용되는 경우"지연이 없다는 것을 발견했습니다. –