12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # 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
|