1 # RUN: llvm-mc -triple hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s
2 # Hexagon Programmer's Reference Manual 11.4 J
14 { p0
= cmp.eq
(r17,#-1); if (p0.new) jump:nt 0 }
16 { p0
= cmp.gt
(r17,#-1); if (p0.new) jump:nt 0 }
18 { p0
= tstbit
(r17, #0); if (p0.new) jump:nt 0 }
20 { p0
= cmp.eq
(r17,#-1); if (p0.new) jump:t 0 }
22 { p0
= cmp.gt
(r17,#-1); if (p0.new) jump:t 0 }
24 { p0
= tstbit
(r17, #0); if (p0.new) jump:t 0 }
26 { p0
= cmp.eq
(r17,#-1); if (!p0.new) jump:nt 0 }
28 { p0
= cmp.gt
(r17,#-1); if (!p0.new) jump:nt 0 }
30 { p0
= tstbit
(r17, #0); if (!p0.new) jump:nt 0 }
32 { p0
= cmp.eq
(r17,#-1); if (!p0.new) jump:t 0 }
34 { p0
= cmp.gt
(r17,#-1); if (!p0.new) jump:t 0 }
36 { p0
= tstbit
(r17, #0); if (!p0.new) jump:t 0 }
38 { p0
= cmp.eq
(r17, #21); if (p0.new) jump:nt 0 }
40 { p0
= cmp.eq
(r17, #21); if (p0.new) jump:t 0 }
42 { p0
= cmp.eq
(r17, #21); if (!p0.new) jump:nt 0 }
44 { p0
= cmp.eq
(r17, #21); if (!p0.new) jump:t 0 }
46 { p0
= cmp.gt
(r17, #21); if (p0.new) jump:nt 0 }
48 { p0
= cmp.gt
(r17, #21); if (p0.new) jump:t 0 }
50 { p0
= cmp.gt
(r17, #21); if (!p0.new) jump:nt 0 }
52 { p0
= cmp.gt
(r17, #21); if (!p0.new) jump:t 0 }
54 { p0
= cmp.gtu
(r17, #21); if (p0.new) jump:nt 0 }
56 { p0
= cmp.gtu
(r17, #21); if (p0.new) jump:t 0 }
58 { p0
= cmp.gtu
(r17, #21); if (!p0.new) jump:nt 0 }
60 { p0
= cmp.gtu
(r17, #21); if (!p0.new) jump:t 0 }
62 { p1
= cmp.eq
(r17,#-1); if (p1.new) jump:nt 0 }
64 { p1
= cmp.gt
(r17,#-1); if (p1.new) jump:nt 0 }
66 { p1
= tstbit
(r17, #0); if (p1.new) jump:nt 0 }
68 { p1
= cmp.eq
(r17,#-1); if (p1.new) jump:t 0 }
70 { p1
= cmp.gt
(r17,#-1); if (p1.new) jump:t 0 }
72 { p1
= tstbit
(r17, #0); if (p1.new) jump:t 0 }
74 { p1
= cmp.eq
(r17,#-1); if (!p1.new) jump:nt 0 }
76 { p1
= cmp.gt
(r17,#-1); if (!p1.new) jump:nt 0 }
78 { p1
= tstbit
(r17, #0); if (!p1.new) jump:nt 0 }
80 { p1
= cmp.eq
(r17,#-1); if (!p1.new) jump:t 0 }
82 { p1
= cmp.gt
(r17,#-1); if (!p1.new) jump:t 0 }
84 { p1
= tstbit
(r17, #0); if (!p1.new) jump:t 0 }
86 { p1
= cmp.eq
(r17, #21); if (p1.new) jump:nt 0 }
88 { p1
= cmp.eq
(r17, #21); if (p1.new) jump:t 0 }
90 { p1
= cmp.eq
(r17, #21); if (!p1.new) jump:nt 0 }
92 { p1
= cmp.eq
(r17, #21); if (!p1.new) jump:t 0 }
94 { p1
= cmp.gt
(r17, #21); if (p1.new) jump:nt 0 }
96 { p1
= cmp.gt
(r17, #21); if (p1.new) jump:t 0 }
98 { p1
= cmp.gt
(r17, #21); if (!p1.new) jump:nt 0 }
100 { p1
= cmp.gt
(r17, #21); if (!p1.new) jump:t 0 }
102 { p1
= cmp.gtu
(r17, #21); if (p1.new) jump:nt 0 }
104 { p1
= cmp.gtu
(r17, #21); if (p1.new) jump:t 0 }
106 { p1
= cmp.gtu
(r17, #21); if (!p1.new) jump:nt 0 }
108 { p1
= cmp.gtu
(r17, #21); if (!p1.new) jump:t 0 }
110 { p0
= cmp.eq
(r17, r21); if
(p0.new
) jump
:nt
0 }
112 { p1
= cmp.eq
(r17, r21); if
(p1.new
) jump
:nt
0 }
114 { p0
= cmp.eq
(r17, r21); if
(p0.new
) jump
:t 0 }
116 { p1
= cmp.eq
(r17, r21); if
(p1.new
) jump
:t 0 }
118 { p0
= cmp.eq
(r17, r21); if
(!p0.new
) jump
:nt
0 }
120 { p1
= cmp.eq
(r17, r21); if
(!p1.new
) jump
:nt
0 }
122 { p0
= cmp.eq
(r17, r21); if
(!p0.new
) jump
:t 0 }
124 { p1
= cmp.eq
(r17, r21); if
(!p1.new
) jump
:t 0 }
126 { p0
= cmp.gt
(r17, r21); if
(p0.new
) jump
:nt
0 }
128 { p1
= cmp.gt
(r17, r21); if
(p1.new
) jump
:nt
0 }
130 { p0
= cmp.gt
(r17, r21); if
(p0.new
) jump
:t 0 }
132 { p1
= cmp.gt
(r17, r21); if
(p1.new
) jump
:t 0 }
134 { p0
= cmp.gt
(r17, r21); if
(!p0.new
) jump
:nt
0 }
136 { p1
= cmp.gt
(r17, r21); if
(!p1.new
) jump
:nt
0 }
138 { p0
= cmp.gt
(r17, r21); if
(!p0.new
) jump
:t 0 }
140 { p1
= cmp.gt
(r17, r21); if
(!p1.new
) jump
:t 0 }
142 { p0
= cmp.gtu
(r17, r21); if
(p0.new
) jump
:nt
0 }
144 { p1
= cmp.gtu
(r17, r21); if
(p1.new
) jump
:nt
0 }
146 { p0
= cmp.gtu
(r17, r21); if
(p0.new
) jump
:t 0 }
148 { p1
= cmp.gtu
(r17, r21); if
(p1.new
) jump
:t 0 }
150 { p0
= cmp.gtu
(r17, r21); if
(!p0.new
) jump
:nt
0 }
152 { p1
= cmp.gtu
(r17, r21); if
(!p1.new
) jump
:nt
0 }
154 { p0
= cmp.gtu
(r17, r21); if
(!p0.new
) jump
:t 0 }
156 { p1
= cmp.gtu
(r17, r21); if
(!p1.new
) jump
:t 0 }
166 # Jump to address conditioned on new predicate
168 # CHECK-NEXT: 00 cb 00 5c
170 if
(p3.new
) jump
:nt
0 }
172 # CHECK-NEXT: 00 db 00 5c
174 if
(p3.new
) jump
:t 0 }
176 # CHECK-NEXT: 00 cb 20 5c
178 if
(!p3.new
) jump
:nt
0 }
180 # CHECK-NEXT: 00 db 20 5c
182 if
(!p3.new
) jump
:t 0 }
184 # Jump to address conditioned on register value
186 if
(r17!=#0) jump:nt 0
188 if
(r17!=#0) jump:t 0
190 if
(r17>=#0) jump:nt 0
192 if
(r17>=#0) jump:t 0
194 if
(r17==#0) jump:nt 0
196 if
(r17==#0) jump:t 0
198 if
(r17<=#0) jump:nt 0
200 if
(r17<=#0) jump:t 0
204 { r17 = #21 ; jump 0 }
206 { r17 = r21 ; jump
0 }