1
在這個小的代碼示例:我使用_mm_srl_epi32錯了嗎?
__m128i twos = _mm_set_epi32(2,3,1,2);
__m128i foo = _mm_set_epi32(128,128,128,128);
__m128i shifted = _mm_srl_epi32(foo,twos);
「平移」是滿零,而我希望它2充滿4個32位整數與值32,16,64,和32,分別。我在使用內在的錯誤嗎?
如果您想要進行元素轉換,您需要AMD的XOP或Intel的AVX2指令。 – Mysticial
@Mysticial我想知道......我已經遇到過很多次了,你可能希望SIMD做的某些事情在早期的SSE版本中不可用(有些甚至現在不可用),比如簡單的只有在SSE 4.1中可用的32位元素的4個元素乘法。我想知道這是否僅僅是成本的一個因素(將SIMD ALU集成到CPU中的成本太高)......當然他們肯定有這種東西。 – TravisG