[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / Hexagon / instructions / nv_j.s
blob5bc75c5a964d1c64767447bd17ddda207d27fcc9
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
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 }