128ビットの変数/レジスタに16個のASCII文字(したがって16個の8ビット数)があるとします。ビット位置(インデックス)が16文字で表されるビットがハイになるビットマスクを作成したいと思います。
たとえば、これらの16文字から形成される文字列がである場合、"CAD..."
ビットマスクでは67番目のビット、65番目のビット、68番目のビットなどは1である必要があります。残りのビットは0である必要があります。特別にそれを行う効率的な方法は何ですか。 SIMD命令を使用していますか?
テクニックの1つがこのような加算であることを私は知っています:2^(67-1)+2^(65-1)+2^(68-1)+...
しかし、これは多くの操作を必要とします。できれば1、2回の操作・指導でやりたいです。
解決策を教えてください。