1 typedef signed int sint; 2 typedef unsigned int uint; 3 4 sint seq(sint p, sint a) { return (123 == p) ? a : 0; } 5 sint sne(sint p, sint a) { return (123 != p) ? a : 0; } 6 7 sint slt(sint p, sint a) { return (123 > p) ? a : 0; } 8 sint sle(sint p, sint a) { return (123 >= p) ? a : 0; } 9 sint sge(sint p, sint a) { return (123 <= p) ? a : 0; } 10 sint sgt(sint p, sint a) { return (123 < p) ? a : 0; } 11 12 uint ueq(uint p, uint a) { return (123 == p) ? a : 0; } 13 uint une(uint p, uint a) { return (123 != p) ? a : 0; } 14 15 uint ubt(uint p, uint a) { return (123 > p) ? a : 0; } 16 uint ube(uint p, uint a) { return (123 >= p) ? a : 0; } 17 uint uae(uint p, uint a) { return (123 <= p) ? a : 0; } 18 uint uat(uint p, uint a) { return (123 < p) ? a : 0; } 19 20 /* 21 * check-name: canonical-cmp 22 * check-command: test-linearize -Wno-decl $file 23 * 24 * check-output-excludes: \\$123, 25 * 26 * check-output-start 27 seq: 28 .L0: 29 <entry-point> 30 seteq.32 %r3 <- %arg1, $123 31 select.32 %r4 <- %r3, %arg2, $0 32 ret.32 %r4 33 34 35 sne: 36 .L2: 37 <entry-point> 38 setne.32 %r8 <- %arg1, $123 39 select.32 %r9 <- %r8, %arg2, $0 40 ret.32 %r9 41 42 43 slt: 44 .L4: 45 <entry-point> 46 setlt.32 %r13 <- %arg1, $123 47 select.32 %r14 <- %r13, %arg2, $0 48 ret.32 %r14 49 50 51 sle: 52 .L6: 53 <entry-point> 54 setle.32 %r18 <- %arg1, $123 55 select.32 %r19 <- %r18, %arg2, $0 56 ret.32 %r19 57 58 59 sge: 60 .L8: 61 <entry-point> 62 setge.32 %r23 <- %arg1, $123 63 select.32 %r24 <- %r23, %arg2, $0 64 ret.32 %r24 65 66 67 sgt: 68 .L10: 69 <entry-point> 70 setgt.32 %r28 <- %arg1, $123 71 select.32 %r29 <- %r28, %arg2, $0 72 ret.32 %r29 73 74 75 ueq: 76 .L12: 77 <entry-point> 78 seteq.32 %r33 <- %arg1, $123 79 select.32 %r34 <- %r33, %arg2, $0 80 ret.32 %r34 81 82 83 une: 84 .L14: 85 <entry-point> 86 setne.32 %r38 <- %arg1, $123 87 select.32 %r39 <- %r38, %arg2, $0 88 ret.32 %r39 89 90 91 ubt: 92 .L16: 93 <entry-point> 94 setb.32 %r43 <- %arg1, $123 95 select.32 %r44 <- %r43, %arg2, $0 96 ret.32 %r44 97 98 99 ube: 100 .L18: 101 <entry-point> 102 setbe.32 %r48 <- %arg1, $123 103 select.32 %r49 <- %r48, %arg2, $0 104 ret.32 %r49 105 106 107 uae: 108 .L20: 109 <entry-point> 110 setae.32 %r53 <- %arg1, $123 111 select.32 %r54 <- %r53, %arg2, $0 112 ret.32 %r54 113 114 115 uat: 116 .L22: 117 <entry-point> 118 seta.32 %r58 <- %arg1, $123 119 select.32 %r59 <- %r58, %arg2, $0 120 ret.32 %r59 121 122 123 * check-output-end 124 */ 125