1# mach: aarch64 2 3# Check the FP min/max number instructions: fminnm, fmaxnm, dminnm, dmaxnm. 4# For min, check 2/1, 1/0, -1/-Inf. 5# For max, check 1/2, -1/0, 1/+inf. 6 7.include "testutils.inc" 8 9 start 10 fmov s0, #2.0 11 fmov s1, #1.0 12 fminnm s2, s0, s1 13 fcmp s2, s1 14 bne .Lfailure 15 fmov d0, #2.0 16 fmov d1, #1.0 17 fminnm d2, d0, d1 18 fcmp d2, d1 19 bne .Lfailure 20 21 fmov s0, #1.0 22 fmov s1, wzr 23 fminnm s2, s0, s1 24 fcmp s2, s1 25 bne .Lfailure 26 fmov d0, #1.0 27 fmov d1, xzr 28 fminnm d2, d0, d1 29 fcmp d2, d1 30 bne .Lfailure 31 32 fmov s0, #-1.0 33 fmov s1, wzr 34 fdiv s1, s0, s1 35 fminnm s2, s0, s1 36 fcmp s2, s1 37 bne .Lfailure 38 fmov d0, #-1.0 39 fmov d1, xzr 40 fdiv d1, d0, d1 41 fminnm d1, d0, d1 42 fcmp d0, d0 43 bne .Lfailure 44 45 fmov s0, #1.0 46 fmov s1, #2.0 47 fmaxnm s2, s0, s1 48 fcmp s2, s1 49 bne .Lfailure 50 fmov d0, #1.0 51 fmov d1, #2.0 52 fmaxnm d2, d0, d1 53 fcmp d2, d1 54 bne .Lfailure 55 56 fmov s0, #-1.0 57 fmov s1, wzr 58 fmaxnm s2, s0, s1 59 fcmp s2, s1 60 bne .Lfailure 61 fmov d0, #-1.0 62 fmov d1, xzr 63 fmaxnm d2, d0, d1 64 fcmp d2, d1 65 bne .Lfailure 66 67 fmov s0, #1.0 68 fmov s1, wzr 69 fdiv s1, s0, s1 70 fmaxnm s2, s0, s1 71 fcmp s2, s1 72 bne .Lfailure 73 fmov d0, #1.0 74 fmov d1, xzr 75 fdiv d1, d0, d1 76 fmaxnm d1, d0, d1 77 fcmp d0, d0 78 bne .Lfailure 79 80 pass 81.Lfailure: 82 fail 83