Page 320 - ARM 64 Bit Assembly Language
P. 320
Floating point 309
9.7.2.3 Examples
1 fabs d3, d5 // Store absolute value of d1 in d3
2 fneg s15, s15 // Negate s15
9.7.3 Add, subtract, multiply, and divide
The basic mathematical operations require two source registers and one destination register.
There are five basic mathematical operations:
fadd Add,
fsub Subtract,
fmul Multiply,
fnmul Multiply and Negate, and
fdiv Divide.
9.7.3.1 Syntax
f<op> Fd, Fn, Fm
• <op> is one of add, sub, mul, nmul,or div.
• Fd, Fn,and Fm must specify either three single precision registers or three double preci-
sion registers.
9.7.3.2 Operations
Name Effect Description
fadd Fd ← Fn + Fm Add
fsub Fd ← Fn − Fm Subtract
fmul Fd ← Fn × Fm Multiply
fnmul Fd ←−(Fn × Fm) Multiply and Negate
fdiv Fd ← Fn ÷ Fm Divide
9.7.3.3 Examples
1 fadd d0, d1, d2 // d0 <- d1 + d2
2 fadd s0, s1, s2 // s0 <- s1 + s2
3 fnmul s10, s10, s14 // s10 <- -(s10 * s14)
4 fdiv d0, d7, d8 // d0 <- d7 / d8