1 extern double g; 2 3 int fcmp_eq(double a) { return (g == a); } 4 int fcmp_ne(double a) { return (g != a); } 5 6 int fcmp_gt(double a) { return (g > a); } 7 int fcmp_ge(double a) { return (g >= a); } 8 int fcmp_le(double a) { return (g <= a); } 9 int fcmp_lt(double a) { return (g < a); } 10 11 int nfcmp_ne(double a) { return !(g == a); } 12 int nfcmp_eq(double a) { return !(g != a); } 13 14 int nfcmp_le(double a) { return !(g > a); } 15 int nfcmp_lt(double a) { return !(g >= a); } 16 int nfcmp_gt(double a) { return !(g <= a); } 17 int nfcmp_ge(double a) { return !(g < a); } 18 19 /* 20 * check-name: canonical-cmp 21 * check-command: test-linearize -Wno-decl $file 22 * 23 * check-output-excludes: \\$123, 24 * 25 * check-output-start 26 fcmp_eq: 27 .L0: 28 <entry-point> 29 load.64 %r1 <- 0[g] 30 fcmpoeq.32 %r3 <- %r1, %arg1 31 ret.32 %r3 32 33 34 fcmp_ne: 35 .L2: 36 <entry-point> 37 load.64 %r5 <- 0[g] 38 fcmpune.32 %r7 <- %r5, %arg1 39 ret.32 %r7 40 41 42 fcmp_gt: 43 .L4: 44 <entry-point> 45 load.64 %r9 <- 0[g] 46 fcmpogt.32 %r11 <- %r9, %arg1 47 ret.32 %r11 48 49 50 fcmp_ge: 51 .L6: 52 <entry-point> 53 load.64 %r13 <- 0[g] 54 fcmpoge.32 %r15 <- %r13, %arg1 55 ret.32 %r15 56 57 58 fcmp_le: 59 .L8: 60 <entry-point> 61 load.64 %r17 <- 0[g] 62 fcmpole.32 %r19 <- %r17, %arg1 63 ret.32 %r19 64 65 66 fcmp_lt: 67 .L10: 68 <entry-point> 69 load.64 %r21 <- 0[g] 70 fcmpolt.32 %r23 <- %r21, %arg1 71 ret.32 %r23 72 73 74 nfcmp_ne: 75 .L12: 76 <entry-point> 77 load.64 %r25 <- 0[g] 78 fcmpune.32 %r28 <- %r25, %arg1 79 ret.32 %r28 80 81 82 nfcmp_eq: 83 .L14: 84 <entry-point> 85 load.64 %r30 <- 0[g] 86 fcmpoeq.32 %r33 <- %r30, %arg1 87 ret.32 %r33 88 89 90 nfcmp_le: 91 .L16: 92 <entry-point> 93 load.64 %r35 <- 0[g] 94 fcmpule.32 %r38 <- %r35, %arg1 95 ret.32 %r38 96 97 98 nfcmp_lt: 99 .L18: 100 <entry-point> 101 load.64 %r40 <- 0[g] 102 fcmpult.32 %r43 <- %r40, %arg1 103 ret.32 %r43 104 105 106 nfcmp_gt: 107 .L20: 108 <entry-point> 109 load.64 %r45 <- 0[g] 110 fcmpugt.32 %r48 <- %r45, %arg1 111 ret.32 %r48 112 113 114 nfcmp_ge: 115 .L22: 116 <entry-point> 117 load.64 %r50 <- 0[g] 118 fcmpuge.32 %r53 <- %r50, %arg1 119 ret.32 %r53 120 121 122 * check-output-end 123 */ 124