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
4 # Jump to address conditioned on new register value
6 # CHECK-NEXT: 00 d5 02 20
8 if
(cmp.eq
(r17.new
, r21)) jump
:nt
0x0 }
10 # CHECK-NEXT: 00 f5 02 20
12 if
(cmp.eq
(r17.new
, r21)) jump
:t 0x0 }
14 # CHECK-NEXT: 00 d5 42 20
16 if
(!cmp.eq
(r17.new
, r21)) jump
:nt
0x0 }
18 # CHECK-NEXT: 00 f5 42 20
20 if
(!cmp.eq
(r17.new
, r21)) jump
:t 0x0 }
22 # CHECK-NEXT: 00 d5 82 20
24 if
(cmp.gt
(r17.new
, r21)) jump
:nt
0x0 }
26 # CHECK-NEXT: 00 f5 82 20
28 if
(cmp.gt
(r17.new
, r21)) jump
:t 0x0 }
30 # CHECK-NEXT: 00 d5 c2 20
32 if
(!cmp.gt
(r17.new
, r21)) jump
:nt
0x0 }
34 # CHECK-NEXT: 00 f5 c2 20
36 if
(!cmp.gt
(r17.new
, r21)) jump
:t 0x0 }
38 # CHECK-NEXT: 00 d5 02 21
40 if
(cmp.gtu
(r17.new
, r21)) jump
:nt
0x0 }
42 # CHECK-NEXT: 00 f5 02 21
44 if
(cmp.gtu
(r17.new
, r21)) jump
:t 0x0 }
46 # CHECK-NEXT: 00 d5 42 21
48 if
(!cmp.gtu
(r17.new
, r21)) jump
:nt
0x0 }
50 # CHECK-NEXT: 00 f5 42 21
52 if
(!cmp.gtu
(r17.new
, r21)) jump
:t 0x0 }
54 # CHECK-NEXT: 00 d5 82 21
56 if
(cmp.gt
(r21, r17.new
)) jump
:nt
0x0 }
58 # CHECK-NEXT: 00 f5 82 21
60 if
(cmp.gt
(r21, r17.new
)) jump
:t 0x0 }
62 # CHECK-NEXT: 00 d5 c2 21
64 if
(!cmp.gt
(r21, r17.new
)) jump
:nt
0x0 }
66 # CHECK-NEXT: 00 f5 c2 21
68 if
(!cmp.gt
(r21, r17.new
)) jump
:t 0x0 }
70 # CHECK-NEXT: 00 d5 02 22
72 if
(cmp.gtu
(r21, r17.new
)) jump
:nt
0x0 }
74 # CHECK-NEXT: 00 f5 02 22
76 if
(cmp.gtu
(r21, r17.new
)) jump
:t 0x0 }
78 # CHECK-NEXT: 00 d5 42 22
80 if
(!cmp.gtu
(r21, r17.new
)) jump
:nt
0x0 }
82 # CHECK-NEXT: 00 f5 42 22
84 if
(!cmp.gtu
(r21, r17.new
)) jump
:t 0x0 }
86 # CHECK-NEXT: 00 d5 02 24
88 if
(cmp.eq
(r17.new
, #21)) jump:nt 0x0 }
90 # CHECK-NEXT: 00 f5 02 24
92 if
(cmp.eq
(r17.new
, #21)) jump:t 0x0 }
94 # CHECK-NEXT: 00 d5 42 24
96 if
(!cmp.eq
(r17.new
, #21)) jump:nt 0x0 }
98 # CHECK-NEXT: 00 f5 42 24
100 if
(!cmp.eq
(r17.new
, #21)) jump:t 0x0 }
102 # CHECK-NEXT: 00 d5 82 24
104 if
(cmp.gt
(r17.new
, #21)) jump:nt 0x0 }
106 # CHECK-NEXT: 00 f5 82 24
108 if
(cmp.gt
(r17.new
, #21)) jump:t 0x0 }
110 # CHECK-NEXT: 00 d5 c2 24
112 if
(!cmp.gt
(r17.new
, #21)) jump:nt 0x0 }
114 # CHECK-NEXT: 00 f5 c2 24
116 if
(!cmp.gt
(r17.new
, #21)) jump:t 0x0 }
118 # CHECK-NEXT: 00 d5 02 25
120 if
(cmp.gtu
(r17.new
, #21)) jump:nt 0x0 }
122 # CHECK-NEXT: 00 f5 02 25
124 if
(cmp.gtu
(r17.new
, #21)) jump:t 0x0 }
126 # CHECK-NEXT: 00 d5 42 25
128 if
(!cmp.gtu
(r17.new
, #21)) jump:nt 0x0 }
130 # CHECK-NEXT: 00 f5 42 25
132 if
(!cmp.gtu
(r17.new
, #21)) jump:t 0x0 }
134 # CHECK-NEXT: 00 c0 82 25
136 if
(tstbit
(r17.new
, #0)) jump:nt 0x0 }
138 # CHECK-NEXT: 00 e0 82 25
140 if
(tstbit
(r17.new
, #0)) jump:t 0x0 }
142 # CHECK-NEXT: 00 c0 c2 25
144 if
(!tstbit
(r17.new
, #0)) jump:nt 0x0 }
146 # CHECK-NEXT: 00 e0 c2 25
148 if
(!tstbit
(r17.new
, #0)) jump:t 0x0 }
150 # CHECK-NEXT: 00 c0 02 26
152 if
(cmp.eq
(r17.new
, #-1)) jump:nt 0x0 }
154 # CHECK-NEXT: 00 e0 02 26
156 if
(cmp.eq
(r17.new
, #-1)) jump:t 0x0 }
158 # CHECK-NEXT: 00 c0 42 26
160 if
(!cmp.eq
(r17.new
, #-1)) jump:nt 0x0 }
162 # CHECK-NEXT: 00 e0 42 26
164 if
(!cmp.eq
(r17.new
, #-1)) jump:t 0x0 }
166 # CHECK-NEXT: 00 c0 82 26
168 if
(cmp.gt
(r17.new
, #-1)) jump:nt 0x0 }
170 # CHECK-NEXT: 00 e0 82 26
172 if
(cmp.gt
(r17.new
, #-1)) jump:t 0x0 }
174 # CHECK-NEXT: 00 c0 c2 26
176 if
(!cmp.gt
(r17.new
, #-1)) jump:nt 0x0 }
178 # CHECK-NEXT: 00 e0 c2 26
180 if
(!cmp.gt
(r17.new
, #-1)) jump:t 0x0 }