mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
78 lines
1.1 KiB
ArmAsm
78 lines
1.1 KiB
ArmAsm
|
# 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
|