Source/Packages

Compiler.MachineAArch64

packages/compiler/src/Compiler/MachineAArch64.alpha

1,480 lines362 declarations58.2 KiBSHA-256 16c7a1ba00f1

def · lines 1048–1055

aarch64FloatCompareWord

Full file
FCMP Sn, Sm: 0001 1110 0 01 Rm 001000 Rn 00000. The Rd field is zero -- the comparison writes NZCV, not a register -- and bits 10-15 are 001000, which is the 32 in byte 1. This is the QUIET compare, the counterpart of the SSE lowering's `ucomiss`: a quiet NaN does not raise Invalid, only a signalling one does. `fcmpe` would be the signalling form and is not what the x86 lane does.
1048def aarch64FloatCompareWord =
1049  (lambda unrestricted left : (family AArch64FloatRegister) .
1050    (lambda unrestricted right : (family AArch64FloatRegister) .
1051      (aarch64ByteWord
1052        (aarch64FloatRnByte0 left)
1053        (naturalAdd aarch64ThirtyTwo (aarch64FloatRnByte1 left))
1054        (naturalAdd aarch64ThirtyTwo (aarch64FloatRegisterCode right))
1055        30)))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.