现代 x86 处理器是否原生支持十进制浮点运算?

Fil*_*und 8 floating-point x86

现代 x86 处理器是否原生支持十进制浮点运算?我在网上找不到任何有关它的信息。

har*_*old 7

不,这可能会导致很难找到任何相关信息。

\n\n

有两个指令fbldfbstp,处理十进制浮点数,但它们只是在压缩 BCD 表示形式之间进行转换。这是对任何十进制浮点的唯一直接支持,所有算术都是二进制格式。这些指令经过极其微编码,尤其fbstp是通常翻译为 150-300 \xc2\xb5ops。

\n\n

有(或者在某种意义上“已经”)一些整数指令在编写在 BCD 浮点(打包或未打包)上实现算术的程序时会很有用,但它们已过时并且在 64 位模式下不受支持(并且从未构成“本机”)无论如何,支持十进制浮点运算”)。这些是诸如aaa和 之类的指令daa

\n