# mach: aarch64 | |
# Check the FP scalar compare zero instructions: fcmeq, fcmle, fcmlt, fcmge, | |
# fcmgt. | |
# Check values -1, 0, and 1. | |
.include "testutils.inc" | |
start | |
fmov s0, wzr | |
fcmeq s1, s0, #0.0 | |
mov w0, v1.s[0] | |
cmp w0, #-1 | |
bne .Lfailure | |
fmov s0, #-1.0 | |
fcmeq s1, s0, #0.0 | |
mov w0, v1.s[0] | |
cmp w0, #0 | |
bne .Lfailure | |
fmov d0, xzr | |
fcmeq d1, d0, #0.0 | |
mov x0, v1.d[0] | |
cmp x0, #-1 | |
bne .Lfailure | |
fmov d0, #1.0 | |
fcmeq d1, d0, #0.0 | |
mov x0, v1.d[0] | |
cmp x0, #0 | |
bne .Lfailure | |
fmov s0, #-1.0 | |
fcmle s1, s0, #0.0 | |
mov w0, v1.s[0] | |
cmp w0, #-1 | |
bne .Lfailure | |
fmov d0, #-1.0 | |
fcmle d1, d0, #0.0 | |
mov x0, v1.d[0] | |
cmp x0, #-1 | |
bne .Lfailure | |
fmov s0, #-1.0 | |
fcmlt s1, s0, #0.0 | |
mov w0, v1.s[0] | |
cmp w0, #-1 | |
bne .Lfailure | |
fmov d0, #-1.0 | |
fcmlt d1, d0, #0.0 | |
mov x0, v1.d[0] | |
cmp x0, #-1 | |
bne .Lfailure | |
fmov s0, #1.0 | |
fcmge s1, s0, #0.0 | |
mov w0, v1.s[0] | |
cmp w0, #-1 | |
bne .Lfailure | |
fmov d0, #1.0 | |
fcmge d1, d0, #0.0 | |
mov x0, v1.d[0] | |
cmp x0, #-1 | |
bne .Lfailure | |
fmov s0, #1.0 | |
fcmgt s1, s0, #0.0 | |
mov w0, v1.s[0] | |
cmp w0, #-1 | |
bne .Lfailure | |
fmov d0, #1.0 | |
fcmgt d1, d0, #0.0 | |
mov x0, v1.d[0] | |
cmp x0, #-1 | |
bne .Lfailure | |
pass | |
.Lfailure: | |
fail |