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  */