Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
MMX レジスタを使用して 16 ビット ワードから 32 ビット ワードに符号拡張する方法を知っている人はいますか? MMX レジスタに格納されている 2 つの 16 ビット ワードから 2 つの 32 ビット符号拡張ワードを取得したいと考えています。SSE4 命令は許可されていません。
よろしく
左シフト(PSLLD)に続いて算術右シフト(PSRAD)を実行できます。たとえば、組み込み関数を使用します。
PSLLD
PSRAD
v = _mm_srai_pi32(_mm_slli_pi32(v, 16), 16);
(これは、各32ビットワードの下半分にすでに16ビット値があることを前提としています。)