日記を作ったばっかりなのでまともな記事がありませんがよろしくお願いします。
はてなのブログのほうが、ソースコードを書くときには便利そうですね。
ちょっと書いてみます。
mm6 = _mm_cvtsi32_si64(8); mm7 = _mm_setzero_si64();
_mmalphac.u64 = 0x0100010001000100ull; _mmalpha.u64 = (a << 48) | (a << 32) | (a << 16) | a;
mm2.m64_u64 = _mmalphac.u64; mm3.m64_u64 = _mmalpha.u64; mm2 = _mm_sub_pi16(mm2,mm3);
mm0 = _mm_unpacklo_pi8(mm0,mm7) mm1 = _mm_unpacklo_pi8(mm1,mm7);
mm0 = _mm_mullo_pi16(mm0,mm2); mm1 = _mm_mullo_pi16(mm1,mm3);
mm1 = _mm_add_pi16(mm0,mm1); mm0 = _mm_srl_pi16(mm1,mm6);
mm0 = _mm_packs_pu16(mm0,mm7);
[/cpp]
ちなみに、このコードは線形補間を行いながら画像(32bit)を拡大するときのSIMD(MMX)命令のコードですね。
自分が書いている別の日記から引っ張ってきてテストしています。
以降プログラムコードが関わるときはこっちの日記に書いた方がいいですね・・・。
というか、後々こちら側に全面移行するかも・・・・。