movemask指令使用__m256i并返回int32,其中每個位(前4位,8位或全部32位,取決于輸入矢量元素的類型)是相應矢量元素的最高有效位。我想反過來:取一個32(只有4、8或32個最低有效位才有意義),然后得到一個__m256i,其中每個int8,int32或int64大小的塊的最高有效位都設置為原始一點?;旧?,我想從壓縮的位掩碼轉換為可以被其他AVX2指令(例如maskstore,maskload,mask_gather)用作掩碼的位掩碼。我無法快速找到執行該指令的指令,所以我在這里問。如果沒有一條指令具有該功能,那么您能想到一個巧妙的技巧可以通過很少的指令來實現這一目標嗎?我當前的方法是使用256個元素的查找表。我想在沒有太多其他事情發生的循環中使用此操作,以加快速度。注意,我對長的多指令序列或實現此操作的小循環不太感興趣。
- 1 回答
- 0 關注
- 778 瀏覽
添加回答
舉報
0/150
提交
取消