blob: cc1a2a910fb75bc9465266f0f84119d5168e9600 [file] [log] [blame]
# 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