it.xnews.jp
出典: purplesyringa's blog 生成: 2026-10-13 読了 約 3 分 model: claude-haiku-5-5 原文: https://purplesyringa.moe/blog/who-is-vfmaddrnd231pd/ raw.md

vfmaddrnd231pdとは何か:SDMに記載されるが実機で#UDとなるFMA命令

著者の検証により、Intel SDMに記載されていたFMA命令vfmaddrnd231pdは、GNUアセンブラで認識されず、最新版では記載が消えており、FMA対応のCPUで実行すると#UDが発生したとされる。

本記事は、purplesyringa's blogが2026年10月12日に公開した記事をもとに、x86命令vfmaddrnd231pdの検証結果を整理したものである。この命令はIntelのSoftware Development Manual(SDM)に丸め制御付きの命令として記載されているが、コンパイラやアセンブラでは扱えないことが確認されている。

命令の概要

SDMでは、vfmaddrnd231pdは「Fused Multiply-Add of Packed Double-Precision Floating-Point Values with rounding control」として記載されている。

「VFMADDRND231PD – Fused Multiply-Add of Packed Double-Precision Floating-Point Values with rounding control」

— Intel Software Development Manual

SDMに掲載されているのはvfmaddrnd231pdのみで、pd/ps/sd/ssの各種や132/213/231の形式は記載されていない。即値バイトのビットフィールドについては、Table 5-3で説明されている。

検証で判明した不整合

著者は以下の点を報告している。

著者は#UDの発生後に最新版のSDMを入手し、この命令が2026年版では記載されていないことを確認したと述べている。なお、Stack Overflowの回答では、DDSは文書化のためにのみ使われており、後のSDMのバージョンでは削除されたとされる。

筆者の見立て

この記事は元記事の事実のみに基づいて自動生成されました。

出典

この記事をシェア