: NEON으로평균 작동 ARM의 NEON
__m128i result1=_mm_avg_epu8 (upper, lower);
나는 다음을 수행하십시오
uint8x16_t result1=vhaddq_u8(upper, lower);
결과는 동일해야하지만, SSE와 명령 I을 얻었다 :
가91cb c895 aaa3 b0d4 cfc0 c1b0 aac7 b9b9
는 네온 지시 반면 I 얻을 :
01,235,91ca c894 a9a2 b0d3 cec0 c1af aac7 b8b8
왜 두 결과가 다른지 알 수 없습니다. 나 좀 도와 줄 수있어? SSE를 평균 고유 _mm_avg_epu8
이 수행하는 반면
A = (B + C) >> 1
: 즉
A = (B + C + 1) >> 1
를 네온은 가 평균을 절단하지
감사합니다. SSE Vr [i] : = (Va [i] + Vb [i] +1) >> 1과 똑같은 vrhadd를 사용하여 해결했습니다. – user1926328