mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
83 lines
1.2 KiB
ArmAsm
83 lines
1.2 KiB
ArmAsm
|
# mach: aarch64
|
||
|
|
||
|
# Check the FP min/max number instructions: fminnm, fmaxnm, dminnm, dmaxnm.
|
||
|
# For min, check 2/1, 1/0, -1/-Inf.
|
||
|
# For max, check 1/2, -1/0, 1/+inf.
|
||
|
|
||
|
.include "testutils.inc"
|
||
|
|
||
|
start
|
||
|
fmov s0, #2.0
|
||
|
fmov s1, #1.0
|
||
|
fminnm s2, s0, s1
|
||
|
fcmp s2, s1
|
||
|
bne .Lfailure
|
||
|
fmov d0, #2.0
|
||
|
fmov d1, #1.0
|
||
|
fminnm d2, d0, d1
|
||
|
fcmp d2, d1
|
||
|
bne .Lfailure
|
||
|
|
||
|
fmov s0, #1.0
|
||
|
fmov s1, wzr
|
||
|
fminnm s2, s0, s1
|
||
|
fcmp s2, s1
|
||
|
bne .Lfailure
|
||
|
fmov d0, #1.0
|
||
|
fmov d1, xzr
|
||
|
fminnm d2, d0, d1
|
||
|
fcmp d2, d1
|
||
|
bne .Lfailure
|
||
|
|
||
|
fmov s0, #-1.0
|
||
|
fmov s1, wzr
|
||
|
fdiv s1, s0, s1
|
||
|
fminnm s2, s0, s1
|
||
|
fcmp s2, s1
|
||
|
bne .Lfailure
|
||
|
fmov d0, #-1.0
|
||
|
fmov d1, xzr
|
||
|
fdiv d1, d0, d1
|
||
|
fminnm d1, d0, d1
|
||
|
fcmp d0, d0
|
||
|
bne .Lfailure
|
||
|
|
||
|
fmov s0, #1.0
|
||
|
fmov s1, #2.0
|
||
|
fmaxnm s2, s0, s1
|
||
|
fcmp s2, s1
|
||
|
bne .Lfailure
|
||
|
fmov d0, #1.0
|
||
|
fmov d1, #2.0
|
||
|
fmaxnm d2, d0, d1
|
||
|
fcmp d2, d1
|
||
|
bne .Lfailure
|
||
|
|
||
|
fmov s0, #-1.0
|
||
|
fmov s1, wzr
|
||
|
fmaxnm s2, s0, s1
|
||
|
fcmp s2, s1
|
||
|
bne .Lfailure
|
||
|
fmov d0, #-1.0
|
||
|
fmov d1, xzr
|
||
|
fmaxnm d2, d0, d1
|
||
|
fcmp d2, d1
|
||
|
bne .Lfailure
|
||
|
|
||
|
fmov s0, #1.0
|
||
|
fmov s1, wzr
|
||
|
fdiv s1, s0, s1
|
||
|
fmaxnm s2, s0, s1
|
||
|
fcmp s2, s1
|
||
|
bne .Lfailure
|
||
|
fmov d0, #1.0
|
||
|
fmov d1, xzr
|
||
|
fdiv d1, d0, d1
|
||
|
fmaxnm d1, d0, d1
|
||
|
fcmp d0, d0
|
||
|
bne .Lfailure
|
||
|
|
||
|
pass
|
||
|
.Lfailure:
|
||
|
fail
|