__m128i レジスタのゼロ以外の値を抽出する必要があります。たとえば、8 つの署名のない short を持つベクトルがあります。
__m128i vector {40, 0, 22, 0, 0, 0, 0, 8}
最小限の SSE 命令で 40、22、および 8 を抽出したいと考えています。ゼロ以外の値は、ゼロ以外の値の配列に格納されます。
{40, 22, 8, more values from different vectors ... }
それらをシャッフルすることは可能ですか、または抽出して保存するための適切な組み込みがありますか?