[Hexagon] Enabling ASM parsing on Hexagon backend and adding instruction parsing...
[oota-llvm.git] / test / MC / Hexagon / instructions / nv_j.s
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 }