1 # RUN: llvm-mc -triple=hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s 2 # Hexagon Programmer's Reference Manual 11.7.1 NV/J 3 4 # Jump to address conditioned on new register value 5 # CHECK: 11 40 71 70 6 # CHECK-NEXT: 00 d5 02 20 7 { r17 = r17 8 if (cmp.eq(r17.new, r21)) jump:nt 0x0 } 9 # CHECK: 11 40 71 70 10 # CHECK-NEXT: 00 f5 02 20 11 { r17 = r17 12 if (cmp.eq(r17.new, r21)) jump:t 0x0 } 13 # CHECK: 11 40 71 70 14 # CHECK-NEXT: 00 d5 42 20 15 { r17 = r17 16 if (!cmp.eq(r17.new, r21)) jump:nt 0x0 } 17 # CHECK: 11 40 71 70 18 # CHECK-NEXT: 00 f5 42 20 19 { r17 = r17 20 if (!cmp.eq(r17.new, r21)) jump:t 0x0 } 21 # CHECK: 11 40 71 70 22 # CHECK-NEXT: 00 d5 82 20 23 { r17 = r17 24 if (cmp.gt(r17.new, r21)) jump:nt 0x0 } 25 # CHECK: 11 40 71 70 26 # CHECK-NEXT: 00 f5 82 20 27 { r17 = r17 28 if (cmp.gt(r17.new, r21)) jump:t 0x0 } 29 # CHECK: 11 40 71 70 30 # CHECK-NEXT: 00 d5 c2 20 31 { r17 = r17 32 if (!cmp.gt(r17.new, r21)) jump:nt 0x0 } 33 # CHECK: 11 40 71 70 34 # CHECK-NEXT: 00 f5 c2 20 35 { r17 = r17 36 if (!cmp.gt(r17.new, r21)) jump:t 0x0 } 37 # CHECK: 11 40 71 70 38 # CHECK-NEXT: 00 d5 02 21 39 { r17 = r17 40 if (cmp.gtu(r17.new, r21)) jump:nt 0x0 } 41 # CHECK: 11 40 71 70 42 # CHECK-NEXT: 00 f5 02 21 43 { r17 = r17 44 if (cmp.gtu(r17.new, r21)) jump:t 0x0 } 45 # CHECK: 11 40 71 70 46 # CHECK-NEXT: 00 d5 42 21 47 { r17 = r17 48 if (!cmp.gtu(r17.new, r21)) jump:nt 0x0 } 49 # CHECK: 11 40 71 70 50 # CHECK-NEXT: 00 f5 42 21 51 { r17 = r17 52 if (!cmp.gtu(r17.new, r21)) jump:t 0x0 } 53 # CHECK: 11 40 71 70 54 # CHECK-NEXT: 00 d5 82 21 55 { r17 = r17 56 if (cmp.gt(r21, r17.new)) jump:nt 0x0 } 57 # CHECK: 11 40 71 70 58 # CHECK-NEXT: 00 f5 82 21 59 { r17 = r17 60 if (cmp.gt(r21, r17.new)) jump:t 0x0 } 61 # CHECK: 11 40 71 70 62 # CHECK-NEXT: 00 d5 c2 21 63 { r17 = r17 64 if (!cmp.gt(r21, r17.new)) jump:nt 0x0 } 65 # CHECK: 11 40 71 70 66 # CHECK-NEXT: 00 f5 c2 21 67 { r17 = r17 68 if (!cmp.gt(r21, r17.new)) jump:t 0x0 } 69 # CHECK: 11 40 71 70 70 # CHECK-NEXT: 00 d5 02 22 71 { r17 = r17 72 if (cmp.gtu(r21, r17.new)) jump:nt 0x0 } 73 # CHECK: 11 40 71 70 74 # CHECK-NEXT: 00 f5 02 22 75 { r17 = r17 76 if (cmp.gtu(r21, r17.new)) jump:t 0x0 } 77 # CHECK: 11 40 71 70 78 # CHECK-NEXT: 00 d5 42 22 79 { r17 = r17 80 if (!cmp.gtu(r21, r17.new)) jump:nt 0x0 } 81 # CHECK: 11 40 71 70 82 # CHECK-NEXT: 00 f5 42 22 83 { r17 = r17 84 if (!cmp.gtu(r21, r17.new)) jump:t 0x0 } 85 # CHECK: 11 40 71 70 86 # CHECK-NEXT: 00 d5 02 24 87 { r17 = r17 88 if (cmp.eq(r17.new, #21)) jump:nt 0x0 } 89 # CHECK: 11 40 71 70 90 # CHECK-NEXT: 00 f5 02 24 91 { r17 = r17 92 if (cmp.eq(r17.new, #21)) jump:t 0x0 } 93 # CHECK: 11 40 71 70 94 # CHECK-NEXT: 00 d5 42 24 95 { r17 = r17 96 if (!cmp.eq(r17.new, #21)) jump:nt 0x0 } 97 # CHECK: 11 40 71 70 98 # CHECK-NEXT: 00 f5 42 24 99 { r17 = r17 100 if (!cmp.eq(r17.new, #21)) jump:t 0x0 } 101 # CHECK: 11 40 71 70 102 # CHECK-NEXT: 00 d5 82 24 103 { r17 = r17 104 if (cmp.gt(r17.new, #21)) jump:nt 0x0 } 105 # CHECK: 11 40 71 70 106 # CHECK-NEXT: 00 f5 82 24 107 { r17 = r17 108 if (cmp.gt(r17.new, #21)) jump:t 0x0 } 109 # CHECK: 11 40 71 70 110 # CHECK-NEXT: 00 d5 c2 24 111 { r17 = r17 112 if (!cmp.gt(r17.new, #21)) jump:nt 0x0 } 113 # CHECK: 11 40 71 70 114 # CHECK-NEXT: 00 f5 c2 24 115 { r17 = r17 116 if (!cmp.gt(r17.new, #21)) jump:t 0x0 } 117 # CHECK: 11 40 71 70 118 # CHECK-NEXT: 00 d5 02 25 119 { r17 = r17 120 if (cmp.gtu(r17.new, #21)) jump:nt 0x0 } 121 # CHECK: 11 40 71 70 122 # CHECK-NEXT: 00 f5 02 25 123 { r17 = r17 124 if (cmp.gtu(r17.new, #21)) jump:t 0x0 } 125 # CHECK: 11 40 71 70 126 # CHECK-NEXT: 00 d5 42 25 127 { r17 = r17 128 if (!cmp.gtu(r17.new, #21)) jump:nt 0x0 } 129 # CHECK: 11 40 71 70 130 # CHECK-NEXT: 00 f5 42 25 131 { r17 = r17 132 if (!cmp.gtu(r17.new, #21)) jump:t 0x0 } 133 # CHECK: 11 40 71 70 134 # CHECK-NEXT: 00 c0 82 25 135 { r17 = r17 136 if (tstbit(r17.new, #0)) jump:nt 0x0 } 137 # CHECK: 11 40 71 70 138 # CHECK-NEXT: 00 e0 82 25 139 { r17 = r17 140 if (tstbit(r17.new, #0)) jump:t 0x0 } 141 # CHECK: 11 40 71 70 142 # CHECK-NEXT: 00 c0 c2 25 143 { r17 = r17 144 if (!tstbit(r17.new, #0)) jump:nt 0x0 } 145 # CHECK: 11 40 71 70 146 # CHECK-NEXT: 00 e0 c2 25 147 { r17 = r17 148 if (!tstbit(r17.new, #0)) jump:t 0x0 } 149 # CHECK: 11 40 71 70 150 # CHECK-NEXT: 00 c0 02 26 151 { r17 = r17 152 if (cmp.eq(r17.new, #-1)) jump:nt 0x0 } 153 # CHECK: 11 40 71 70 154 # CHECK-NEXT: 00 e0 02 26 155 { r17 = r17 156 if (cmp.eq(r17.new, #-1)) jump:t 0x0 } 157 # CHECK: 11 40 71 70 158 # CHECK-NEXT: 00 c0 42 26 159 { r17 = r17 160 if (!cmp.eq(r17.new, #-1)) jump:nt 0x0 } 161 # CHECK: 11 40 71 70 162 # CHECK-NEXT: 00 e0 42 26 163 { r17 = r17 164 if (!cmp.eq(r17.new, #-1)) jump:t 0x0 } 165 # CHECK: 11 40 71 70 166 # CHECK-NEXT: 00 c0 82 26 167 { r17 = r17 168 if (cmp.gt(r17.new, #-1)) jump:nt 0x0 } 169 # CHECK: 11 40 71 70 170 # CHECK-NEXT: 00 e0 82 26 171 { r17 = r17 172 if (cmp.gt(r17.new, #-1)) jump:t 0x0 } 173 # CHECK: 11 40 71 70 174 # CHECK-NEXT: 00 c0 c2 26 175 { r17 = r17 176 if (!cmp.gt(r17.new, #-1)) jump:nt 0x0 } 177 # CHECK: 11 40 71 70 178 # CHECK-NEXT: 00 e0 c2 26 179 { r17 = r17 180 if (!cmp.gt(r17.new, #-1)) jump:t 0x0 } 181