2
我有一個128位的變量,裏面填充了4個獨立的整數。 [1,2,3,4]。我想向右移動,所以我可以得到[2,3,4,0]。什麼是最快的方式來做到這一點。在__m128上正確移位32位的最快方法(Intel Intrinsics)
我當前的代碼:
__m128 v1;
v1 = (__m128)_mm_srli_si128( _mm_castps_si128(v1) , 4);
這成功地轉移了位,但我試圖去的速度和緩存優化(又名變量最少越好)。無論如何改善這個代碼,以避免投擲和__m128i?
謝謝
你可能沒有意識到這一點,但當前的方法只需要1個寄存器。但是,您將會轉換int <->轉移延遲。 – Mysticial