浮点指令有专门的加减乘除四则运算指令,比如 FADD、FSUB、FMUL、FDIV 等。

1 FADD (scalar)

浮点加法(标量)。该指令将两个源 SIMD&FP 寄存器的浮点值相加,并将结果写入目标 SIMD&FP 寄存器。

该指令可以产生浮点异常。根据 FPCR 中的设置,异常会导致在 FPSR 中设置标志,或者生成同步异常。

【ARMv8 SIMD和浮点指令编程】浮点加减乘除指令——四则运算-LMLPHP

半精度 (ftype == 11)(FEAT_FP16)

FADD <Hd>, <Hn>, <Hm>

单精度 (ftype == 00)

FADD <Sd>, <Sn>, <Sm>

双精度 (ftype == 01)

FADD <Dd>, <Dn>, <Dm>

<Dd> 是 SIMD&FP 目标寄存器的 64 位名称,编码在“Rd”字段中。

<Dn> 是第一个 SIMD&FP 源寄存器的 64 位名称,编码在“Rn”字段中。

<Dm> 是第二个 SIMD&FP 源寄存器的 64 位名称,编码在“Rm”字段中。

11-05 19:44