C4,C5はまた、LES,LDS命令の第一バイトでもある。最初に見たときは、AVX命令は64ビットモード専用かと思った。64ビットモードでは、LES,LDS命令は使えないからである(使用できない命令を参照)。しかし、そうではなかった。
まず、Intel(R) AVXからダウンロードできるIntel Advanced Vector Extensions Programming ReferenceのFigure 4-2. VEX bitfieldsを見てほしい。C4,C5の次のバイト(Byte 1)の上位2ビットは、RかXかvvvvの最上位ビットである。これらの説明をよく見ると、「in 1’s complement (inverted) form」と書いてある。ここで思い出してほしいのは、AMD64/Intel 64で追加されたレジスタ(R8、XMM9など、レジスタ番号8-15のもの)は、64ビットモード以外では使えないことである。つまり、LES,LDS命令が使えるモードでは、レジスタ番号は常に0-7であり、Byte 1の上位2ビットは両方とも常に1である。
次に、LES,LDS命令の第二オペランドはModR/Mバイトのr/mフィールドで指定されるメモリであり、レジスタではないことを思い出してほしい。つまり、LES,LDS命令のModR/Mバイトの上位2ビットがともに1になることはない。結局C4,C5の次のバイトは、上位2ビットの値によって
IntelのAVXは、AMDのSSE5とともに、今後どうなるか楽しみである。
コンピュータのソフトウェアの技術者ならこんな言い方はしない。その用語である「バグ」を使うなら、使い方も倣うべきである。おそらく、「プログラムのバグのせいでデータに誤りが入った」というようなことを言いたいのであろう。わざわざ「バグ」という言葉は使わずに、「プログラムのミスにより」で十分だと思う。なお、バグのせいで実際に誤動作が起きることを「バグが発生」と言うことはあるので、「バグが起こり」だけで誤りとは言い切れない。
これで思い出したのだが、1989年にNHKのニュースで、「ソースコードと呼ばれる高度な先端技術」の話をしていた。これには笑ってしまった。「原稿という洗練された文学作品」みたいな表現であることに気がつかなかったのであろうか。
自分の専門分野に関係あるニュースがどのように報道されているかを見聞きすれば、他の分野のニュースをどれくらい信じてよいかがわかってくる。コンピュータに関するニュースのレベルは、パソコンがこれだけ普及してもあまり変わっていないように思う。