前編はコチラ 複素数の積の計算 最後の2つの命令(FMAddSub、FMSubAdd)は256bitにパックされたデータの偶数番目と奇数番目でCの加算と減算が逆になるという、ちょっと変な演算である。この命令に関しては、スライドの下の説明には、複素演算に使うと書かれている。 実数の積和演算を行う場合は、前回説明した4種のFMA命令で良いが、各要素が複素数の積和演算を行う場合は、複素数の積と和の計算が必要になる。複素数の和は、実部同士、虚部同士を加算すれば良いが、A+BiとC+Diの積は実部が(A×C-B×D)、虚部は(A×D+B×C)と計算する必要がある。FMAddSubとFMSubAdd命令は、この計算をするための命令である。 AMDのSoftware Optimization Guideには、複素数の積の計算コードが載っている。256bitのYMMレジスタには32bitの単精度浮動小数点
![HPC性能が大幅に強化されたHaswell(中編) - TLBミスによる性能低下を減少](https://cdn-ak-scissors.b.st-hatena.com/image/square/53cf16aa127ac0cf1b3a27e8b63821c39402e18f/height=288;version=1;width=512/https%3A%2F%2Fnews.mynavi.jp%2Ftechplus%2Farticle%2F20121004-idf_haswell_hpc_02%2Findex_images%2Findex.jpg)