1 #include <stdio.h>
2 #include <stdbool.h>
3 #include <r_types.h>
4 #include <r_util.h>
5 #include <r_asm.h>
6 #include <r_anal.h>
7 #include "hexagon.h"
8 #include "hexagon_insn.h"
9 
hexagon_anal_instruction(HexInsn * hi,RAnalOp * op)10 int hexagon_anal_instruction(HexInsn *hi, RAnalOp *op) {
11 	switch (hi->instruction) {
12 	case HEX_INS_CALL__R22_2: {
13 		// call #r22:2
14 		op->type = R_ANAL_OP_TYPE_CALL;
15 		op->jump = op->addr + (st32) hi->ops[0].op.imm;
16 		break;
17 	}
18 	case HEX_INS_IF__PU__CALL__R15_2: {
19 		// if (Pu) call #r15:2
20 		op->type = R_ANAL_OP_TYPE_CALL;
21 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
22 		break;
23 	}
24 	case HEX_INS_IF__NOT_PU_CALL__R15_2: {
25 		// if !Pu call #r15:2
26 		op->type = R_ANAL_OP_TYPE_CALL;
27 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
28 		break;
29 	}
30 	case HEX_INS_MULT_P0___CMP_EQ__RS____1____IF__P0_NEW__JUMP_NT__R9_2: {
31 		// p0 = cmp.eq (Rs, #-1) ; if (p0.new) jump:nt #r9:2
32 		op->type = R_ANAL_OP_TYPE_CJMP;
33 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
34 		op->fail = op->addr + op->size;
35 		break;
36 	}
37 	case HEX_INS_MULT_P0___CMP_GT__RS____1____IF__P0_NEW__JUMP_NT__R9_2: {
38 		// p0 = cmp.gt (Rs, #-1) ; if (p0.new) jump:nt #r9:2
39 		op->type = R_ANAL_OP_TYPE_CJMP;
40 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
41 		op->fail = op->addr + op->size;
42 		break;
43 	}
44 	case HEX_INS_MULT_P0___TSTBIT__RS___0____IF__P0_NEW__JUMP_NT__R9_2: {
45 		// p0 = tstbit (Rs, #0) ; if (p0.new) jump:nt #r9:2
46 		op->type = R_ANAL_OP_TYPE_CJMP;
47 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
48 		op->fail = op->addr + op->size;
49 		break;
50 	}
51 	case HEX_INS_MULT_P0___CMP_EQ__RS____1____IF__P0_NEW__JUMP_T__R9_2: {
52 		// p0 = cmp.eq (Rs, #-1) ; if (p0.new) jump:t #r9:2
53 		op->type = R_ANAL_OP_TYPE_CJMP;
54 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
55 		op->fail = op->addr + op->size;
56 		break;
57 	}
58 	case HEX_INS_MULT_P0___CMP_GT__RS____1____IF__P0_NEW__JUMP_T__R9_2: {
59 		// p0 = cmp.gt (Rs, #-1) ; if (p0.new) jump:t #r9:2
60 		op->type = R_ANAL_OP_TYPE_CJMP;
61 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
62 		op->fail = op->addr + op->size;
63 		break;
64 	}
65 	case HEX_INS_MULT_P0___TSTBIT__RS___0____IF__P0_NEW__JUMP_T__R9_2: {
66 		// p0 = tstbit (Rs, #0) ; if (p0.new) jump:t #r9:2
67 		op->type = R_ANAL_OP_TYPE_CJMP;
68 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
69 		op->fail = op->addr + op->size;
70 		break;
71 	}
72 	case HEX_INS_MULT_P0___CMP_EQ__RS____1____IF___NOT_P0_NEW__JUMP_NT__R9_2: {
73 		// p0 = cmp.eq (Rs, #-1) ; if (!p0.new) jump:nt #r9:2
74 		op->type = R_ANAL_OP_TYPE_CJMP;
75 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
76 		op->fail = op->addr + op->size;
77 		break;
78 	}
79 	case HEX_INS_MULT_P0___CMP_GT__RS____1____IF___NOT_P0_NEW__JUMP_NT__R9_2: {
80 		// p0 = cmp.gt (Rs, #-1) ; if (!p0.new) jump:nt #r9:2
81 		op->type = R_ANAL_OP_TYPE_CJMP;
82 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
83 		op->fail = op->addr + op->size;
84 		break;
85 	}
86 	case HEX_INS_MULT_P0___TSTBIT__RS___0____IF___NOT_P0_NEW__JUMP_NT__R9_2: {
87 		// p0 = tstbit (Rs, #0) ; if (!p0.new) jump:nt #r9:2
88 		op->type = R_ANAL_OP_TYPE_CJMP;
89 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
90 		op->fail = op->addr + op->size;
91 		break;
92 	}
93 	case HEX_INS_MULT_P0___CMP_EQ__RS____1____IF___NOT_P0_NEW__JUMP_T__R9_2: {
94 		// p0 = cmp.eq (Rs, #-1) ; if (!p0.new) jump:t #r9:2
95 		op->type = R_ANAL_OP_TYPE_CJMP;
96 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
97 		op->fail = op->addr + op->size;
98 		break;
99 	}
100 	case HEX_INS_MULT_P0___CMP_GT__RS____1____IF___NOT_P0_NEW__JUMP_T__R9_2: {
101 		// p0 = cmp.gt (Rs, #-1) ; if (!p0.new) jump:t #r9:2
102 		op->type = R_ANAL_OP_TYPE_CJMP;
103 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
104 		op->fail = op->addr + op->size;
105 		break;
106 	}
107 	case HEX_INS_MULT_P0___TSTBIT__RS___0____IF___NOT_P0_NEW__JUMP_T__R9_2: {
108 		// p0 = tstbit (Rs, #0) ; if (!p0.new) jump:t #r9:2
109 		op->type = R_ANAL_OP_TYPE_CJMP;
110 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
111 		op->fail = op->addr + op->size;
112 		break;
113 	}
114 	case HEX_INS_MULT_P0___CMP_EQ__RS___U5____IF__P0_NEW__JUMP_NT__R9_2: {
115 		// p0 = cmp.eq (Rs, #U5) ; if (p0.new) jump:nt #r9:2
116 		op->type = R_ANAL_OP_TYPE_CJMP;
117 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
118 		op->fail = op->addr + op->size;
119 		break;
120 	}
121 	case HEX_INS_MULT_P0___CMP_EQ__RS___U5____IF__P0_NEW__JUMP_T__R9_2: {
122 		// p0 = cmp.eq (Rs, #U5) ; if (p0.new) jump:t #r9:2
123 		op->type = R_ANAL_OP_TYPE_CJMP;
124 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
125 		op->fail = op->addr + op->size;
126 		break;
127 	}
128 	case HEX_INS_MULT_P0___CMP_EQ__RS___U5____IF___NOT_P0_NEW__JUMP_NT__R9_2: {
129 		// p0 = cmp.eq (Rs, #U5) ; if (!p0.new) jump:nt #r9:2
130 		op->type = R_ANAL_OP_TYPE_CJMP;
131 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
132 		op->fail = op->addr + op->size;
133 		break;
134 	}
135 	case HEX_INS_MULT_P0___CMP_EQ__RS___U5____IF___NOT_P0_NEW__JUMP_T__R9_2: {
136 		// p0 = cmp.eq (Rs, #U5) ; if (!p0.new) jump:t #r9:2
137 		op->type = R_ANAL_OP_TYPE_CJMP;
138 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
139 		op->fail = op->addr + op->size;
140 		break;
141 	}
142 	case HEX_INS_MULT_P0___CMP_GT__RS___U5____IF__P0_NEW__JUMP_NT__R9_2: {
143 		// p0 = cmp.gt (Rs, #U5) ; if (p0.new) jump:nt #r9:2
144 		op->type = R_ANAL_OP_TYPE_CJMP;
145 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
146 		op->fail = op->addr + op->size;
147 		break;
148 	}
149 	case HEX_INS_MULT_P0___CMP_GT__RS___U5____IF__P0_NEW__JUMP_T__R9_2: {
150 		// p0 = cmp.gt (Rs, #U5) ; if (p0.new) jump:t #r9:2
151 		op->type = R_ANAL_OP_TYPE_CJMP;
152 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
153 		op->fail = op->addr + op->size;
154 		break;
155 	}
156 	case HEX_INS_MULT_P0___CMP_GT__RS___U5____IF___NOT_P0_NEW__JUMP_NT__R9_2: {
157 		// p0 = cmp.gt (Rs, #U5) ; if (!p0.new) jump:nt #r9:2
158 		op->type = R_ANAL_OP_TYPE_CJMP;
159 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
160 		op->fail = op->addr + op->size;
161 		break;
162 	}
163 	case HEX_INS_MULT_P0___CMP_GT__RS___U5____IF___NOT_P0_NEW__JUMP_T__R9_2: {
164 		// p0 = cmp.gt (Rs, #U5) ; if (!p0.new) jump:t #r9:2
165 		op->type = R_ANAL_OP_TYPE_CJMP;
166 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
167 		op->fail = op->addr + op->size;
168 		break;
169 	}
170 	case HEX_INS_MULT_P0___CMP_GTU__RS___U5____IF__P0_NEW__JUMP_NT__R9_2: {
171 		// p0 = cmp.gtu (Rs, #U5) ; if (p0.new) jump:nt #r9:2
172 		op->type = R_ANAL_OP_TYPE_CJMP;
173 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
174 		op->fail = op->addr + op->size;
175 		break;
176 	}
177 	case HEX_INS_MULT_P0___CMP_GTU__RS___U5____IF__P0_NEW__JUMP_T__R9_2: {
178 		// p0 = cmp.gtu (Rs, #U5) ; if (p0.new) jump:t #r9:2
179 		op->type = R_ANAL_OP_TYPE_CJMP;
180 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
181 		op->fail = op->addr + op->size;
182 		break;
183 	}
184 	case HEX_INS_MULT_P0___CMP_GTU__RS___U5____IF___NOT_P0_NEW__JUMP_NT__R9_2: {
185 		// p0 = cmp.gtu (Rs, #U5) ; if (!p0.new) jump:nt #r9:2
186 		op->type = R_ANAL_OP_TYPE_CJMP;
187 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
188 		op->fail = op->addr + op->size;
189 		break;
190 	}
191 	case HEX_INS_MULT_P0___CMP_GTU__RS___U5____IF___NOT_P0_NEW__JUMP_T__R9_2: {
192 		// p0 = cmp.gtu (Rs, #U5) ; if (!p0.new) jump:t #r9:2
193 		op->type = R_ANAL_OP_TYPE_CJMP;
194 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
195 		op->fail = op->addr + op->size;
196 		break;
197 	}
198 	case HEX_INS_MULT_P1___CMP_EQ__RS____1____IF__P1_NEW__JUMP_NT__R9_2: {
199 		// p1 = cmp.eq (Rs, #-1) ; if (p1.new) jump:nt #r9:2
200 		op->type = R_ANAL_OP_TYPE_CJMP;
201 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
202 		op->fail = op->addr + op->size;
203 		break;
204 	}
205 	case HEX_INS_MULT_P1___CMP_GT__RS____1____IF__P1_NEW__JUMP_NT__R9_2: {
206 		// p1 = cmp.gt (Rs, #-1) ; if (p1.new) jump:nt #r9:2
207 		op->type = R_ANAL_OP_TYPE_CJMP;
208 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
209 		op->fail = op->addr + op->size;
210 		break;
211 	}
212 	case HEX_INS_MULT_P1___TSTBIT__RS___0____IF__P1_NEW__JUMP_NT__R9_2: {
213 		// p1 = tstbit (Rs, #0) ; if (p1.new) jump:nt #r9:2
214 		op->type = R_ANAL_OP_TYPE_CJMP;
215 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
216 		op->fail = op->addr + op->size;
217 		break;
218 	}
219 	case HEX_INS_MULT_P1___CMP_EQ__RS____1____IF__P1_NEW__JUMP_T__R9_2: {
220 		// p1 = cmp.eq (Rs, #-1) ; if (p1.new) jump:t #r9:2
221 		op->type = R_ANAL_OP_TYPE_CJMP;
222 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
223 		op->fail = op->addr + op->size;
224 		break;
225 	}
226 	case HEX_INS_MULT_P1___CMP_GT__RS____1____IF__P1_NEW__JUMP_T__R9_2: {
227 		// p1 = cmp.gt (Rs, #-1) ; if (p1.new) jump:t #r9:2
228 		op->type = R_ANAL_OP_TYPE_CJMP;
229 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
230 		op->fail = op->addr + op->size;
231 		break;
232 	}
233 	case HEX_INS_MULT_P1___TSTBIT__RS___0____IF__P1_NEW__JUMP_T__R9_2: {
234 		// p1 = tstbit (Rs, #0) ; if (p1.new) jump:t #r9:2
235 		op->type = R_ANAL_OP_TYPE_CJMP;
236 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
237 		op->fail = op->addr + op->size;
238 		break;
239 	}
240 	case HEX_INS_MULT_P1___CMP_EQ__RS____1____IF___NOT_P1_NEW__JUMP_NT__R9_2: {
241 		// p1 = cmp.eq (Rs, #-1) ; if (!p1.new) jump:nt #r9:2
242 		op->type = R_ANAL_OP_TYPE_CJMP;
243 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
244 		op->fail = op->addr + op->size;
245 		break;
246 	}
247 	case HEX_INS_MULT_P1___CMP_GT__RS____1____IF___NOT_P1_NEW__JUMP_NT__R9_2: {
248 		// p1 = cmp.gt (Rs, #-1) ; if (!p1.new) jump:nt #r9:2
249 		op->type = R_ANAL_OP_TYPE_CJMP;
250 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
251 		op->fail = op->addr + op->size;
252 		break;
253 	}
254 	case HEX_INS_MULT_P1___TSTBIT__RS___0____IF___NOT_P1_NEW__JUMP_NT__R9_2: {
255 		// p1 = tstbit (Rs, #0) ; if (!p1.new) jump:nt #r9:2
256 		op->type = R_ANAL_OP_TYPE_CJMP;
257 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
258 		op->fail = op->addr + op->size;
259 		break;
260 	}
261 	case HEX_INS_MULT_P1___CMP_EQ__RS____1____IF___NOT_P1_NEW__JUMP_T__R9_2: {
262 		// p1 = cmp.eq (Rs, #-1) ; if (!p1.new) jump:t #r9:2
263 		op->type = R_ANAL_OP_TYPE_CJMP;
264 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
265 		op->fail = op->addr + op->size;
266 		break;
267 	}
268 	case HEX_INS_MULT_P1___CMP_GT__RS____1____IF___NOT_P1_NEW__JUMP_T__R9_2: {
269 		// p1 = cmp.gt (Rs, #-1) ; if (!p1.new) jump:t #r9:2
270 		op->type = R_ANAL_OP_TYPE_CJMP;
271 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
272 		op->fail = op->addr + op->size;
273 		break;
274 	}
275 	case HEX_INS_MULT_P1___TSTBIT__RS___0____IF___NOT_P1_NEW__JUMP_T__R9_2: {
276 		// p1 = tstbit (Rs, #0) ; if (!p1.new) jump:t #r9:2
277 		op->type = R_ANAL_OP_TYPE_CJMP;
278 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
279 		op->fail = op->addr + op->size;
280 		break;
281 	}
282 	case HEX_INS_MULT_P1___CMP_EQ__RS___U5____IF__P1_NEW__JUMP_NT__R9_2: {
283 		// p1 = cmp.eq (Rs, #U5) ; if (p1.new) jump:nt #r9:2
284 		op->type = R_ANAL_OP_TYPE_CJMP;
285 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
286 		op->fail = op->addr + op->size;
287 		break;
288 	}
289 	case HEX_INS_MULT_P1___CMP_EQ__RS___U5____IF__P1_NEW__JUMP_T__R9_2: {
290 		// p1 = cmp.eq (Rs, #U5) ; if (p1.new) jump:t #r9:2
291 		op->type = R_ANAL_OP_TYPE_CJMP;
292 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
293 		op->fail = op->addr + op->size;
294 		break;
295 	}
296 	case HEX_INS_MULT_P1___CMP_EQ__RS___U5____IF___NOT_P1_NEW__JUMP_NT__R9_2: {
297 		// p1 = cmp.eq (Rs, #U5) ; if (!p1.new) jump:nt #r9:2
298 		op->type = R_ANAL_OP_TYPE_CJMP;
299 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
300 		op->fail = op->addr + op->size;
301 		break;
302 	}
303 	case HEX_INS_MULT_P1___CMP_EQ__RS___U5____IF___NOT_P1_NEW__JUMP_T__R9_2: {
304 		// p1 = cmp.eq (Rs, #U5) ; if (!p1.new) jump:t #r9:2
305 		op->type = R_ANAL_OP_TYPE_CJMP;
306 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
307 		op->fail = op->addr + op->size;
308 		break;
309 	}
310 	case HEX_INS_MULT_P1___CMP_GT__RS___U5____IF__P1_NEW__JUMP_NT__R9_2: {
311 		// p1 = cmp.gt (Rs, #U5) ; if (p1.new) jump:nt #r9:2
312 		op->type = R_ANAL_OP_TYPE_CJMP;
313 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
314 		op->fail = op->addr + op->size;
315 		break;
316 	}
317 	case HEX_INS_MULT_P1___CMP_GT__RS___U5____IF__P1_NEW__JUMP_T__R9_2: {
318 		// p1 = cmp.gt (Rs, #U5) ; if (p1.new) jump:t #r9:2
319 		op->type = R_ANAL_OP_TYPE_CJMP;
320 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
321 		op->fail = op->addr + op->size;
322 		break;
323 	}
324 	case HEX_INS_MULT_P1___CMP_GT__RS___U5____IF___NOT_P1_NEW__JUMP_NT__R9_2: {
325 		// p1 = cmp.gt (Rs, #U5) ; if (!p1.new) jump:nt #r9:2
326 		op->type = R_ANAL_OP_TYPE_CJMP;
327 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
328 		op->fail = op->addr + op->size;
329 		break;
330 	}
331 	case HEX_INS_MULT_P1___CMP_GT__RS___U5____IF___NOT_P1_NEW__JUMP_T__R9_2: {
332 		// p1 = cmp.gt (Rs, #U5) ; if (!p1.new) jump:t #r9:2
333 		op->type = R_ANAL_OP_TYPE_CJMP;
334 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
335 		op->fail = op->addr + op->size;
336 		break;
337 	}
338 	case HEX_INS_MULT_P1___CMP_GTU__RS___U5____IF__P1_NEW__JUMP_NT__R9_2: {
339 		// p1 = cmp.gtu (Rs, #U5) ; if (p1.new) jump:nt #r9:2
340 		op->type = R_ANAL_OP_TYPE_CJMP;
341 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
342 		op->fail = op->addr + op->size;
343 		break;
344 	}
345 	case HEX_INS_MULT_P1___CMP_GTU__RS___U5____IF__P1_NEW__JUMP_T__R9_2: {
346 		// p1 = cmp.gtu (Rs, #U5) ; if (p1.new) jump:t #r9:2
347 		op->type = R_ANAL_OP_TYPE_CJMP;
348 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
349 		op->fail = op->addr + op->size;
350 		break;
351 	}
352 	case HEX_INS_MULT_P1___CMP_GTU__RS___U5____IF___NOT_P1_NEW__JUMP_NT__R9_2: {
353 		// p1 = cmp.gtu (Rs, #U5) ; if (!p1.new) jump:nt #r9:2
354 		op->type = R_ANAL_OP_TYPE_CJMP;
355 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
356 		op->fail = op->addr + op->size;
357 		break;
358 	}
359 	case HEX_INS_MULT_P1___CMP_GTU__RS___U5____IF___NOT_P1_NEW__JUMP_T__R9_2: {
360 		// p1 = cmp.gtu (Rs, #U5) ; if (!p1.new) jump:t #r9:2
361 		op->type = R_ANAL_OP_TYPE_CJMP;
362 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
363 		op->fail = op->addr + op->size;
364 		break;
365 	}
366 	case HEX_INS_MULT_P0___CMP_EQ__RS__RT____IF__P0_NEW__JUMP_NT__R9_2: {
367 		// p0 = cmp.eq (Rs, Rt) ; if (p0.new) jump:nt #r9:2
368 		op->type = R_ANAL_OP_TYPE_CJMP;
369 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
370 		op->fail = op->addr + op->size;
371 		break;
372 	}
373 	case HEX_INS_MULT_P1___CMP_EQ__RS__RT____IF__P1_NEW__JUMP_NT__R9_2: {
374 		// p1 = cmp.eq (Rs, Rt) ; if (p1.new) jump:nt #r9:2
375 		op->type = R_ANAL_OP_TYPE_CJMP;
376 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
377 		op->fail = op->addr + op->size;
378 		break;
379 	}
380 	case HEX_INS_MULT_P0___CMP_EQ__RS__RT____IF__P0_NEW__JUMP_T__R9_2: {
381 		// p0 = cmp.eq (Rs, Rt) ; if (p0.new) jump:t #r9:2
382 		op->type = R_ANAL_OP_TYPE_CJMP;
383 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
384 		op->fail = op->addr + op->size;
385 		break;
386 	}
387 	case HEX_INS_MULT_P1___CMP_EQ__RS__RT____IF__P1_NEW__JUMP_T__R9_2: {
388 		// p1 = cmp.eq (Rs, Rt) ; if (p1.new) jump:t #r9:2
389 		op->type = R_ANAL_OP_TYPE_CJMP;
390 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
391 		op->fail = op->addr + op->size;
392 		break;
393 	}
394 	case HEX_INS_MULT_P0___CMP_EQ__RS__RT____IF___NOT_P0_NEW__JUMP_NT__R9_2: {
395 		// p0 = cmp.eq (Rs, Rt) ; if (!p0.new) jump:nt #r9:2
396 		op->type = R_ANAL_OP_TYPE_CJMP;
397 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
398 		op->fail = op->addr + op->size;
399 		break;
400 	}
401 	case HEX_INS_MULT_P1___CMP_EQ__RS__RT____IF___NOT_P1_NEW__JUMP_NT__R9_2: {
402 		// p1 = cmp.eq (Rs, Rt) ; if (!p1.new) jump:nt #r9:2
403 		op->type = R_ANAL_OP_TYPE_CJMP;
404 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
405 		op->fail = op->addr + op->size;
406 		break;
407 	}
408 	case HEX_INS_MULT_P0___CMP_EQ__RS__RT____IF___NOT_P0_NEW__JUMP_T__R9_2: {
409 		// p0 = cmp.eq (Rs, Rt) ; if (!p0.new) jump:t #r9:2
410 		op->type = R_ANAL_OP_TYPE_CJMP;
411 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
412 		op->fail = op->addr + op->size;
413 		break;
414 	}
415 	case HEX_INS_MULT_P1___CMP_EQ__RS__RT____IF___NOT_P1_NEW__JUMP_T__R9_2: {
416 		// p1 = cmp.eq (Rs, Rt) ; if (!p1.new) jump:t #r9:2
417 		op->type = R_ANAL_OP_TYPE_CJMP;
418 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
419 		op->fail = op->addr + op->size;
420 		break;
421 	}
422 	case HEX_INS_MULT_P0___CMP_GT__RS__RT____IF__P0_NEW__JUMP_NT__R9_2: {
423 		// p0 = cmp.gt (Rs, Rt) ; if (p0.new) jump:nt #r9:2
424 		op->type = R_ANAL_OP_TYPE_CJMP;
425 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
426 		op->fail = op->addr + op->size;
427 		break;
428 	}
429 	case HEX_INS_MULT_P1___CMP_GT__RS__RT____IF__P1_NEW__JUMP_NT__R9_2: {
430 		// p1 = cmp.gt (Rs, Rt) ; if (p1.new) jump:nt #r9:2
431 		op->type = R_ANAL_OP_TYPE_CJMP;
432 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
433 		op->fail = op->addr + op->size;
434 		break;
435 	}
436 	case HEX_INS_MULT_P0___CMP_GT__RS__RT____IF__P0_NEW__JUMP_T__R9_2: {
437 		// p0 = cmp.gt (Rs, Rt) ; if (p0.new) jump:t #r9:2
438 		op->type = R_ANAL_OP_TYPE_CJMP;
439 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
440 		op->fail = op->addr + op->size;
441 		break;
442 	}
443 	case HEX_INS_MULT_P1___CMP_GT__RS__RT____IF__P1_NEW__JUMP_T__R9_2: {
444 		// p1 = cmp.gt (Rs, Rt) ; if (p1.new) jump:t #r9:2
445 		op->type = R_ANAL_OP_TYPE_CJMP;
446 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
447 		op->fail = op->addr + op->size;
448 		break;
449 	}
450 	case HEX_INS_MULT_P0___CMP_GT__RS__RT____IF___NOT_P0_NEW__JUMP_NT__R9_2: {
451 		// p0 = cmp.gt (Rs, Rt) ; if (!p0.new) jump:nt #r9:2
452 		op->type = R_ANAL_OP_TYPE_CJMP;
453 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
454 		op->fail = op->addr + op->size;
455 		break;
456 	}
457 	case HEX_INS_MULT_P1___CMP_GT__RS__RT____IF___NOT_P1_NEW__JUMP_NT__R9_2: {
458 		// p1 = cmp.gt (Rs, Rt) ; if (!p1.new) jump:nt #r9:2
459 		op->type = R_ANAL_OP_TYPE_CJMP;
460 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
461 		op->fail = op->addr + op->size;
462 		break;
463 	}
464 	case HEX_INS_MULT_P0___CMP_GT__RS__RT____IF___NOT_P0_NEW__JUMP_T__R9_2: {
465 		// p0 = cmp.gt (Rs, Rt) ; if (!p0.new) jump:t #r9:2
466 		op->type = R_ANAL_OP_TYPE_CJMP;
467 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
468 		op->fail = op->addr + op->size;
469 		break;
470 	}
471 	case HEX_INS_MULT_P1___CMP_GT__RS__RT____IF___NOT_P1_NEW__JUMP_T__R9_2: {
472 		// p1 = cmp.gt (Rs, Rt) ; if (!p1.new) jump:t #r9:2
473 		op->type = R_ANAL_OP_TYPE_CJMP;
474 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
475 		op->fail = op->addr + op->size;
476 		break;
477 	}
478 	case HEX_INS_MULT_P0___CMP_GTU__RS__RT____IF__P0_NEW__JUMP_NT__R9_2: {
479 		// p0 = cmp.gtu (Rs, Rt) ; if (p0.new) jump:nt #r9:2
480 		op->type = R_ANAL_OP_TYPE_CJMP;
481 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
482 		op->fail = op->addr + op->size;
483 		break;
484 	}
485 	case HEX_INS_MULT_P1___CMP_GTU__RS__RT____IF__P1_NEW__JUMP_NT__R9_2: {
486 		// p1 = cmp.gtu (Rs, Rt) ; if (p1.new) jump:nt #r9:2
487 		op->type = R_ANAL_OP_TYPE_CJMP;
488 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
489 		op->fail = op->addr + op->size;
490 		break;
491 	}
492 	case HEX_INS_MULT_P0___CMP_GTU__RS__RT____IF__P0_NEW__JUMP_T__R9_2: {
493 		// p0 = cmp.gtu (Rs, Rt) ; if (p0.new) jump:t #r9:2
494 		op->type = R_ANAL_OP_TYPE_CJMP;
495 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
496 		op->fail = op->addr + op->size;
497 		break;
498 	}
499 	case HEX_INS_MULT_P1___CMP_GTU__RS__RT____IF__P1_NEW__JUMP_T__R9_2: {
500 		// p1 = cmp.gtu (Rs, Rt) ; if (p1.new) jump:t #r9:2
501 		op->type = R_ANAL_OP_TYPE_CJMP;
502 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
503 		op->fail = op->addr + op->size;
504 		break;
505 	}
506 	case HEX_INS_MULT_P0___CMP_GTU__RS__RT____IF___NOT_P0_NEW__JUMP_NT__R9_2: {
507 		// p0 = cmp.gtu (Rs, Rt) ; if (!p0.new) jump:nt #r9:2
508 		op->type = R_ANAL_OP_TYPE_CJMP;
509 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
510 		op->fail = op->addr + op->size;
511 		break;
512 	}
513 	case HEX_INS_MULT_P1___CMP_GTU__RS__RT____IF___NOT_P1_NEW__JUMP_NT__R9_2: {
514 		// p1 = cmp.gtu (Rs, Rt) ; if (!p1.new) jump:nt #r9:2
515 		op->type = R_ANAL_OP_TYPE_CJMP;
516 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
517 		op->fail = op->addr + op->size;
518 		break;
519 	}
520 	case HEX_INS_MULT_P0___CMP_GTU__RS__RT____IF___NOT_P0_NEW__JUMP_T__R9_2: {
521 		// p0 = cmp.gtu (Rs, Rt) ; if (!p0.new) jump:t #r9:2
522 		op->type = R_ANAL_OP_TYPE_CJMP;
523 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
524 		op->fail = op->addr + op->size;
525 		break;
526 	}
527 	case HEX_INS_MULT_P1___CMP_GTU__RS__RT____IF___NOT_P1_NEW__JUMP_T__R9_2: {
528 		// p1 = cmp.gtu (Rs, Rt) ; if (!p1.new) jump:t #r9:2
529 		op->type = R_ANAL_OP_TYPE_CJMP;
530 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
531 		op->fail = op->addr + op->size;
532 		break;
533 	}
534 	case HEX_INS_JUMP__R22_2: {
535 		// jump #r22:2
536 		op->type = R_ANAL_OP_TYPE_JMP;
537 		op->jump = op->addr + (st32) hi->ops[0].op.imm;
538 		op->fail = op->addr + op->size;
539 		break;
540 	}
541 	case HEX_INS_IF__PU__JUMP_NT__R15_2: {
542 		// if (Pu) jump:nt #r15:2
543 		op->type = R_ANAL_OP_TYPE_CJMP;
544 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
545 		op->fail = op->addr + op->size;
546 		break;
547 	}
548 	case HEX_INS_IF__PU__JUMP_T__R15_2: {
549 		// if (Pu) jump:t #r15:2
550 		op->type = R_ANAL_OP_TYPE_CJMP;
551 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
552 		op->fail = op->addr + op->size;
553 		break;
554 	}
555 	case HEX_INS_IF__NOT_PU_JUMP_NT__R15_2: {
556 		// if !Pu jump:nt #r15:2
557 		op->type = R_ANAL_OP_TYPE_CJMP;
558 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
559 		op->fail = op->addr + op->size;
560 		break;
561 	}
562 	case HEX_INS_IF__NOT_PU_JUMP_T__R15_2: {
563 		// if !Pu jump:t #r15:2
564 		op->type = R_ANAL_OP_TYPE_CJMP;
565 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
566 		op->fail = op->addr + op->size;
567 		break;
568 	}
569 	case HEX_INS_IF__PU_NEW__JUMP_NT__R15_2: {
570 		// if (Pu.new) jump:nt #r15:2
571 		op->type = R_ANAL_OP_TYPE_CJMP;
572 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
573 		op->fail = op->addr + op->size;
574 		break;
575 	}
576 	case HEX_INS_IF__PU_NEW__JUMP_T__R15_2: {
577 		// if (Pu.new) jump:t #r15:2
578 		op->type = R_ANAL_OP_TYPE_CJMP;
579 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
580 		op->fail = op->addr + op->size;
581 		break;
582 	}
583 	case HEX_INS_IF__NOT_PU_NEW_JUMP_NT__R15_2: {
584 		// if !Pu.new jump:nt #r15:2
585 		op->type = R_ANAL_OP_TYPE_CJMP;
586 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
587 		op->fail = op->addr + op->size;
588 		break;
589 	}
590 	case HEX_INS_IF__NOT_PU_NEW_JUMP_T__R15_2: {
591 		// if !Pu.new jump:t #r15:2
592 		op->type = R_ANAL_OP_TYPE_CJMP;
593 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
594 		op->fail = op->addr + op->size;
595 		break;
596 	}
597 	case HEX_INS_IF__RS__NOT____0__JUMP_NT__R13_2: {
598 		// if (Rs != #0) jump:nt #r13:2
599 		op->type = R_ANAL_OP_TYPE_CJMP;
600 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
601 		op->fail = op->addr + op->size;
602 		break;
603 	}
604 	case HEX_INS_IF__RS__NOT____0__JUMP_T__R13_2: {
605 		// if (Rs != #0) jump:t #r13:2
606 		op->type = R_ANAL_OP_TYPE_CJMP;
607 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
608 		op->fail = op->addr + op->size;
609 		break;
610 	}
611 	case HEX_INS_IF__RS_GT_EQ___0__JUMP_NT__R13_2: {
612 		// if (Rs> = #0) jump:nt #r13:2
613 		op->type = R_ANAL_OP_TYPE_CJMP;
614 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
615 		op->fail = op->addr + op->size;
616 		break;
617 	}
618 	case HEX_INS_IF__RS_GT_EQ___0__JUMP_T__R13_2: {
619 		// if (Rs> = #0) jump:t #r13:2
620 		op->type = R_ANAL_OP_TYPE_CJMP;
621 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
622 		op->fail = op->addr + op->size;
623 		break;
624 	}
625 	case HEX_INS_IF__RS__EQ___0__JUMP_NT__R13_2: {
626 		// if (Rs == #0) jump:nt #r13:2
627 		op->type = R_ANAL_OP_TYPE_CJMP;
628 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
629 		op->fail = op->addr + op->size;
630 		break;
631 	}
632 	case HEX_INS_IF__RS__EQ___0__JUMP_T__R13_2: {
633 		// if (Rs == #0) jump:t #r13:2
634 		op->type = R_ANAL_OP_TYPE_CJMP;
635 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
636 		op->fail = op->addr + op->size;
637 		break;
638 	}
639 	case HEX_INS_IF__RS_LT_EQ___0__JUMP_NT__R13_2: {
640 		// if (Rs< = #0) jump:nt #r13:2
641 		op->type = R_ANAL_OP_TYPE_CJMP;
642 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
643 		op->fail = op->addr + op->size;
644 		break;
645 	}
646 	case HEX_INS_IF__RS_LT_EQ___0__JUMP_T__R13_2: {
647 		// if (Rs< = #0) jump:t #r13:2
648 		op->type = R_ANAL_OP_TYPE_CJMP;
649 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
650 		op->fail = op->addr + op->size;
651 		break;
652 	}
653 	case HEX_INS_MULT_RD____U6___JUMP__R9_2: {
654 		// Rd = #U6 ; jump #r9:2
655 		op->type = R_ANAL_OP_TYPE_JMP;
656 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
657 		op->fail = op->addr + op->size;
658 		break;
659 	}
660 	case HEX_INS_MULT_RD___RS___JUMP__R9_2: {
661 		// Rd = Rs ; jump #r9:2
662 		op->type = R_ANAL_OP_TYPE_JMP;
663 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
664 		op->fail = op->addr + op->size;
665 		break;
666 	}
667 	case HEX_INS_DEALLOC_RETURN: {
668 		// dealloc_return
669 		op->type = R_ANAL_OP_TYPE_RET;
670 		break;
671 	}
672 	case HEX_INS_IF__PS_NEW__DEALLOC_RETURN_NT: {
673 		// if (Ps.new) dealloc_return:nt
674 		op->type = R_ANAL_OP_TYPE_RET;
675 		break;
676 	}
677 	case HEX_INS_IF__PS__DEALLOC_RETURN: {
678 		// if (Ps) dealloc_return
679 		op->type = R_ANAL_OP_TYPE_RET;
680 		break;
681 	}
682 	case HEX_INS_IF__PS_NEW__DEALLOC_RETURN_T: {
683 		// if (Ps.new) dealloc_return:t
684 		op->type = R_ANAL_OP_TYPE_RET;
685 		break;
686 	}
687 	case HEX_INS_IF__NOT_PS_NEW_DEALLOC_RETURN_NT: {
688 		// if !Ps.new dealloc_return:nt
689 		op->type = R_ANAL_OP_TYPE_RET;
690 		break;
691 	}
692 	case HEX_INS_IF__NOT_PS_DEALLOC_RETURN: {
693 		// if !Ps dealloc_return
694 		op->type = R_ANAL_OP_TYPE_RET;
695 		break;
696 	}
697 	case HEX_INS_IF__NOT_PS_NEW_DEALLOC_RETURN_T: {
698 		// if !Ps.new dealloc_return:t
699 		op->type = R_ANAL_OP_TYPE_RET;
700 		break;
701 	}
702 	case HEX_INS_IF__CMP_EQ__NS_NEW__RT___JUMP_NT__R9_2: {
703 		// if (cmp.eq (Ns.new, Rt)) jump:nt #r9:2
704 		op->type = R_ANAL_OP_TYPE_CJMP;
705 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
706 		op->fail = op->addr + op->size;
707 		break;
708 	}
709 	case HEX_INS_IF__CMP_EQ__NS_NEW__RT___JUMP_T__R9_2: {
710 		// if (cmp.eq (Ns.new, Rt)) jump:t #r9:2
711 		op->type = R_ANAL_OP_TYPE_CJMP;
712 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
713 		op->fail = op->addr + op->size;
714 		break;
715 	}
716 	case HEX_INS_IF___NOT_CMP_EQ__NS_NEW__RT___JUMP_NT__R9_2: {
717 		// if (!cmp.eq (Ns.new, Rt)) jump:nt #r9:2
718 		op->type = R_ANAL_OP_TYPE_CJMP;
719 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
720 		op->fail = op->addr + op->size;
721 		break;
722 	}
723 	case HEX_INS_IF___NOT_CMP_EQ__NS_NEW__RT___JUMP_T__R9_2: {
724 		// if (!cmp.eq (Ns.new, Rt)) jump:t #r9:2
725 		op->type = R_ANAL_OP_TYPE_CJMP;
726 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
727 		op->fail = op->addr + op->size;
728 		break;
729 	}
730 	case HEX_INS_IF__CMP_GT__NS_NEW__RT___JUMP_NT__R9_2: {
731 		// if (cmp.gt (Ns.new, Rt)) jump:nt #r9:2
732 		op->type = R_ANAL_OP_TYPE_CJMP;
733 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
734 		op->fail = op->addr + op->size;
735 		break;
736 	}
737 	case HEX_INS_IF__CMP_GT__NS_NEW__RT___JUMP_T__R9_2: {
738 		// if (cmp.gt (Ns.new, Rt)) jump:t #r9:2
739 		op->type = R_ANAL_OP_TYPE_CJMP;
740 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
741 		op->fail = op->addr + op->size;
742 		break;
743 	}
744 	case HEX_INS_IF___NOT_CMP_GT__NS_NEW__RT___JUMP_NT__R9_2: {
745 		// if (!cmp.gt (Ns.new, Rt)) jump:nt #r9:2
746 		op->type = R_ANAL_OP_TYPE_CJMP;
747 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
748 		op->fail = op->addr + op->size;
749 		break;
750 	}
751 	case HEX_INS_IF___NOT_CMP_GT__NS_NEW__RT___JUMP_T__R9_2: {
752 		// if (!cmp.gt (Ns.new, Rt)) jump:t #r9:2
753 		op->type = R_ANAL_OP_TYPE_CJMP;
754 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
755 		op->fail = op->addr + op->size;
756 		break;
757 	}
758 	case HEX_INS_IF__CMP_GTU__NS_NEW__RT___JUMP_NT__R9_2: {
759 		// if (cmp.gtu (Ns.new, Rt)) jump:nt #r9:2
760 		op->type = R_ANAL_OP_TYPE_CJMP;
761 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
762 		op->fail = op->addr + op->size;
763 		break;
764 	}
765 	case HEX_INS_IF__CMP_GTU__NS_NEW__RT___JUMP_T__R9_2: {
766 		// if (cmp.gtu (Ns.new, Rt)) jump:t #r9:2
767 		op->type = R_ANAL_OP_TYPE_CJMP;
768 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
769 		op->fail = op->addr + op->size;
770 		break;
771 	}
772 	case HEX_INS_IF___NOT_CMP_GTU__NS_NEW__RT___JUMP_NT__R9_2: {
773 		// if (!cmp.gtu (Ns.new, Rt)) jump:nt #r9:2
774 		op->type = R_ANAL_OP_TYPE_CJMP;
775 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
776 		op->fail = op->addr + op->size;
777 		break;
778 	}
779 	case HEX_INS_IF___NOT_CMP_GTU__NS_NEW__RT___JUMP_T__R9_2: {
780 		// if (!cmp.gtu (Ns.new, Rt)) jump:t #r9:2
781 		op->type = R_ANAL_OP_TYPE_CJMP;
782 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
783 		op->fail = op->addr + op->size;
784 		break;
785 	}
786 	case HEX_INS_IF__CMP_GT__RT__NS_NEW___JUMP_NT__R9_2: {
787 		// if (cmp.gt (Rt, Ns.new)) jump:nt #r9:2
788 		op->type = R_ANAL_OP_TYPE_CJMP;
789 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
790 		op->fail = op->addr + op->size;
791 		break;
792 	}
793 	case HEX_INS_IF__CMP_GT__RT__NS_NEW___JUMP_T__R9_2: {
794 		// if (cmp.gt (Rt, Ns.new)) jump:t #r9:2
795 		op->type = R_ANAL_OP_TYPE_CJMP;
796 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
797 		op->fail = op->addr + op->size;
798 		break;
799 	}
800 	case HEX_INS_IF___NOT_CMP_GT__RT__NS_NEW___JUMP_NT__R9_2: {
801 		// if (!cmp.gt (Rt, Ns.new)) jump:nt #r9:2
802 		op->type = R_ANAL_OP_TYPE_CJMP;
803 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
804 		op->fail = op->addr + op->size;
805 		break;
806 	}
807 	case HEX_INS_IF___NOT_CMP_GT__RT__NS_NEW___JUMP_T__R9_2: {
808 		// if (!cmp.gt (Rt, Ns.new)) jump:t #r9:2
809 		op->type = R_ANAL_OP_TYPE_CJMP;
810 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
811 		op->fail = op->addr + op->size;
812 		break;
813 	}
814 	case HEX_INS_IF__CMP_GTU__RT__NS_NEW___JUMP_NT__R9_2: {
815 		// if (cmp.gtu (Rt, Ns.new)) jump:nt #r9:2
816 		op->type = R_ANAL_OP_TYPE_CJMP;
817 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
818 		op->fail = op->addr + op->size;
819 		break;
820 	}
821 	case HEX_INS_IF__CMP_GTU__RT__NS_NEW___JUMP_T__R9_2: {
822 		// if (cmp.gtu (Rt, Ns.new)) jump:t #r9:2
823 		op->type = R_ANAL_OP_TYPE_CJMP;
824 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
825 		op->fail = op->addr + op->size;
826 		break;
827 	}
828 	case HEX_INS_IF___NOT_CMP_GTU__RT__NS_NEW___JUMP_NT__R9_2: {
829 		// if (!cmp.gtu (Rt, Ns.new)) jump:nt #r9:2
830 		op->type = R_ANAL_OP_TYPE_CJMP;
831 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
832 		op->fail = op->addr + op->size;
833 		break;
834 	}
835 	case HEX_INS_IF___NOT_CMP_GTU__RT__NS_NEW___JUMP_T__R9_2: {
836 		// if (!cmp.gtu (Rt, Ns.new)) jump:t #r9:2
837 		op->type = R_ANAL_OP_TYPE_CJMP;
838 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
839 		op->fail = op->addr + op->size;
840 		break;
841 	}
842 	case HEX_INS_IF__CMP_EQ__NS_NEW___U5___JUMP_NT__R9_2: {
843 		// if (cmp.eq (Ns.new, #U5)) jump:nt #r9:2
844 		op->type = R_ANAL_OP_TYPE_CJMP;
845 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
846 		op->fail = op->addr + op->size;
847 		break;
848 	}
849 	case HEX_INS_IF__CMP_EQ__NS_NEW___U5___JUMP_T__R9_2: {
850 		// if (cmp.eq (Ns.new, #U5)) jump:t #r9:2
851 		op->type = R_ANAL_OP_TYPE_CJMP;
852 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
853 		op->fail = op->addr + op->size;
854 		break;
855 	}
856 	case HEX_INS_IF___NOT_CMP_EQ__NS_NEW___U5___JUMP_NT__R9_2: {
857 		// if (!cmp.eq (Ns.new, #U5)) jump:nt #r9:2
858 		op->type = R_ANAL_OP_TYPE_CJMP;
859 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
860 		op->fail = op->addr + op->size;
861 		break;
862 	}
863 	case HEX_INS_IF___NOT_CMP_EQ__NS_NEW___U5___JUMP_T__R9_2: {
864 		// if (!cmp.eq (Ns.new, #U5)) jump:t #r9:2
865 		op->type = R_ANAL_OP_TYPE_CJMP;
866 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
867 		op->fail = op->addr + op->size;
868 		break;
869 	}
870 	case HEX_INS_IF__CMP_GT__NS_NEW___U5___JUMP_NT__R9_2: {
871 		// if (cmp.gt (Ns.new, #U5)) jump:nt #r9:2
872 		op->type = R_ANAL_OP_TYPE_CJMP;
873 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
874 		op->fail = op->addr + op->size;
875 		break;
876 	}
877 	case HEX_INS_IF__CMP_GT__NS_NEW___U5___JUMP_T__R9_2: {
878 		// if (cmp.gt (Ns.new, #U5)) jump:t #r9:2
879 		op->type = R_ANAL_OP_TYPE_CJMP;
880 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
881 		op->fail = op->addr + op->size;
882 		break;
883 	}
884 	case HEX_INS_IF___NOT_CMP_GT__NS_NEW___U5___JUMP_NT__R9_2: {
885 		// if (!cmp.gt (Ns.new, #U5)) jump:nt #r9:2
886 		op->type = R_ANAL_OP_TYPE_CJMP;
887 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
888 		op->fail = op->addr + op->size;
889 		break;
890 	}
891 	case HEX_INS_IF___NOT_CMP_GT__NS_NEW___U5___JUMP_T__R9_2: {
892 		// if (!cmp.gt (Ns.new, #U5)) jump:t #r9:2
893 		op->type = R_ANAL_OP_TYPE_CJMP;
894 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
895 		op->fail = op->addr + op->size;
896 		break;
897 	}
898 	case HEX_INS_IF__CMP_GTU__NS_NEW___U5___JUMP_NT__R9_2: {
899 		// if (cmp.gtu (Ns.new, #U5)) jump:nt #r9:2
900 		op->type = R_ANAL_OP_TYPE_CJMP;
901 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
902 		op->fail = op->addr + op->size;
903 		break;
904 	}
905 	case HEX_INS_IF__CMP_GTU__NS_NEW___U5___JUMP_T__R9_2: {
906 		// if (cmp.gtu (Ns.new, #U5)) jump:t #r9:2
907 		op->type = R_ANAL_OP_TYPE_CJMP;
908 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
909 		op->fail = op->addr + op->size;
910 		break;
911 	}
912 	case HEX_INS_IF___NOT_CMP_GTU__NS_NEW___U5___JUMP_NT__R9_2: {
913 		// if (!cmp.gtu (Ns.new, #U5)) jump:nt #r9:2
914 		op->type = R_ANAL_OP_TYPE_CJMP;
915 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
916 		op->fail = op->addr + op->size;
917 		break;
918 	}
919 	case HEX_INS_IF___NOT_CMP_GTU__NS_NEW___U5___JUMP_T__R9_2: {
920 		// if (!cmp.gtu (Ns.new, #U5)) jump:t #r9:2
921 		op->type = R_ANAL_OP_TYPE_CJMP;
922 		op->jump = op->addr + (st32) hi->ops[2].op.imm;
923 		op->fail = op->addr + op->size;
924 		break;
925 	}
926 	case HEX_INS_IF__TSTBIT__NS_NEW___0___JUMP_NT__R9_2: {
927 		// if (tstbit (Ns.new, #0)) jump:nt #r9:2
928 		op->type = R_ANAL_OP_TYPE_CJMP;
929 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
930 		op->fail = op->addr + op->size;
931 		break;
932 	}
933 	case HEX_INS_IF__TSTBIT__NS_NEW___0___JUMP_T__R9_2: {
934 		// if (tstbit (Ns.new, #0)) jump:t #r9:2
935 		op->type = R_ANAL_OP_TYPE_CJMP;
936 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
937 		op->fail = op->addr + op->size;
938 		break;
939 	}
940 	case HEX_INS_IF___NOT_TSTBIT__NS_NEW___0___JUMP_NT__R9_2: {
941 		// if (!tstbit (Ns.new, #0)) jump:nt #r9:2
942 		op->type = R_ANAL_OP_TYPE_CJMP;
943 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
944 		op->fail = op->addr + op->size;
945 		break;
946 	}
947 	case HEX_INS_IF___NOT_TSTBIT__NS_NEW___0___JUMP_T__R9_2: {
948 		// if (!tstbit (Ns.new, #0)) jump:t #r9:2
949 		op->type = R_ANAL_OP_TYPE_CJMP;
950 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
951 		op->fail = op->addr + op->size;
952 		break;
953 	}
954 	case HEX_INS_IF__CMP_EQ__NS_NEW____1___JUMP_NT__R9_2: {
955 		// if (cmp.eq (Ns.new, #-1)) jump:nt #r9:2
956 		op->type = R_ANAL_OP_TYPE_CJMP;
957 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
958 		op->fail = op->addr + op->size;
959 		break;
960 	}
961 	case HEX_INS_IF__CMP_EQ__NS_NEW____1___JUMP_T__R9_2: {
962 		// if (cmp.eq (Ns.new, #-1)) jump:t #r9:2
963 		op->type = R_ANAL_OP_TYPE_CJMP;
964 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
965 		op->fail = op->addr + op->size;
966 		break;
967 	}
968 	case HEX_INS_IF___NOT_CMP_EQ__NS_NEW____1___JUMP_NT__R9_2: {
969 		// if (!cmp.eq (Ns.new, #-1)) jump:nt #r9:2
970 		op->type = R_ANAL_OP_TYPE_CJMP;
971 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
972 		op->fail = op->addr + op->size;
973 		break;
974 	}
975 	case HEX_INS_IF___NOT_CMP_EQ__NS_NEW____1___JUMP_T__R9_2: {
976 		// if (!cmp.eq (Ns.new, #-1)) jump:t #r9:2
977 		op->type = R_ANAL_OP_TYPE_CJMP;
978 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
979 		op->fail = op->addr + op->size;
980 		break;
981 	}
982 	case HEX_INS_IF__CMP_GT__NS_NEW____1___JUMP_NT__R9_2: {
983 		// if (cmp.gt (Ns.new, #-1)) jump:nt #r9:2
984 		op->type = R_ANAL_OP_TYPE_CJMP;
985 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
986 		op->fail = op->addr + op->size;
987 		break;
988 	}
989 	case HEX_INS_IF__CMP_GT__NS_NEW____1___JUMP_T__R9_2: {
990 		// if (cmp.gt (Ns.new, #-1)) jump:t #r9:2
991 		op->type = R_ANAL_OP_TYPE_CJMP;
992 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
993 		op->fail = op->addr + op->size;
994 		break;
995 	}
996 	case HEX_INS_IF___NOT_CMP_GT__NS_NEW____1___JUMP_NT__R9_2: {
997 		// if (!cmp.gt (Ns.new, #-1)) jump:nt #r9:2
998 		op->type = R_ANAL_OP_TYPE_CJMP;
999 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
1000 		op->fail = op->addr + op->size;
1001 		break;
1002 	}
1003 	case HEX_INS_IF___NOT_CMP_GT__NS_NEW____1___JUMP_T__R9_2: {
1004 		// if (!cmp.gt (Ns.new, #-1)) jump:t #r9:2
1005 		op->type = R_ANAL_OP_TYPE_CJMP;
1006 		op->jump = op->addr + (st32) hi->ops[1].op.imm;
1007 		op->fail = op->addr + op->size;
1008 		break;
1009 	}
1010 	case HEX_INS_DUPLEX_RD_____1___DEALLOC_RETURN: {
1011 		// Rd = #-1 ; dealloc_return
1012 		op->type = R_ANAL_OP_TYPE_RET;
1013 		break;
1014 	}
1015 	case HEX_INS_DUPLEX_RD_____1___IF___NOT__P0__DEALLOC_RETURN: {
1016 		// Rd = #-1 ; if (! p0) dealloc_return
1017 		op->type = R_ANAL_OP_TYPE_RET;
1018 		break;
1019 	}
1020 	case HEX_INS_DUPLEX_RD_____1___IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1021 		// Rd = #-1 ; if (! p0.new) dealloc_return:nt
1022 		op->type = R_ANAL_OP_TYPE_RET;
1023 		break;
1024 	}
1025 	case HEX_INS_DUPLEX_RD_____1___IF__P0__DEALLOC_RETURN: {
1026 		// Rd = #-1 ; if (p0) dealloc_return
1027 		op->type = R_ANAL_OP_TYPE_RET;
1028 		break;
1029 	}
1030 	case HEX_INS_DUPLEX_RD_____1___IF__P0_NEW__DEALLOC_RETURN_NT: {
1031 		// Rd = #-1 ; if (p0.new) dealloc_return:nt
1032 		op->type = R_ANAL_OP_TYPE_RET;
1033 		break;
1034 	}
1035 	case HEX_INS_DUPLEX_RD____U6___DEALLOC_RETURN: {
1036 		// Rd = #u6 ; dealloc_return
1037 		op->type = R_ANAL_OP_TYPE_RET;
1038 		break;
1039 	}
1040 	case HEX_INS_DUPLEX_RD____U6___IF___NOT__P0__DEALLOC_RETURN: {
1041 		// Rd = #u6 ; if (! p0) dealloc_return
1042 		op->type = R_ANAL_OP_TYPE_RET;
1043 		break;
1044 	}
1045 	case HEX_INS_DUPLEX_RD____U6___IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1046 		// Rd = #u6 ; if (! p0.new) dealloc_return:nt
1047 		op->type = R_ANAL_OP_TYPE_RET;
1048 		break;
1049 	}
1050 	case HEX_INS_DUPLEX_RD____U6___IF__P0__DEALLOC_RETURN: {
1051 		// Rd = #u6 ; if (p0) dealloc_return
1052 		op->type = R_ANAL_OP_TYPE_RET;
1053 		break;
1054 	}
1055 	case HEX_INS_DUPLEX_RD____U6___IF__P0_NEW__DEALLOC_RETURN_NT: {
1056 		// Rd = #u6 ; if (p0.new) dealloc_return:nt
1057 		op->type = R_ANAL_OP_TYPE_RET;
1058 		break;
1059 	}
1060 	case HEX_INS_DUPLEX_RD___RS___DEALLOC_RETURN: {
1061 		// Rd = Rs ; dealloc_return
1062 		op->type = R_ANAL_OP_TYPE_RET;
1063 		break;
1064 	}
1065 	case HEX_INS_DUPLEX_RD___RS___IF___NOT__P0__DEALLOC_RETURN: {
1066 		// Rd = Rs ; if (! p0) dealloc_return
1067 		op->type = R_ANAL_OP_TYPE_RET;
1068 		break;
1069 	}
1070 	case HEX_INS_DUPLEX_RD___RS___IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1071 		// Rd = Rs ; if (! p0.new) dealloc_return:nt
1072 		op->type = R_ANAL_OP_TYPE_RET;
1073 		break;
1074 	}
1075 	case HEX_INS_DUPLEX_RD___RS___IF__P0__DEALLOC_RETURN: {
1076 		// Rd = Rs ; if (p0) dealloc_return
1077 		op->type = R_ANAL_OP_TYPE_RET;
1078 		break;
1079 	}
1080 	case HEX_INS_DUPLEX_RD___RS___IF__P0_NEW__DEALLOC_RETURN_NT: {
1081 		// Rd = Rs ; if (p0.new) dealloc_return:nt
1082 		op->type = R_ANAL_OP_TYPE_RET;
1083 		break;
1084 	}
1085 	case HEX_INS_DUPLEX_RD___ADD__RS____1____DEALLOC_RETURN: {
1086 		// Rd = add (Rs, #-1) ; dealloc_return
1087 		op->type = R_ANAL_OP_TYPE_RET;
1088 		break;
1089 	}
1090 	case HEX_INS_DUPLEX_RD___ADD__RS____1____IF___NOT__P0__DEALLOC_RETURN: {
1091 		// Rd = add (Rs, #-1) ; if (! p0) dealloc_return
1092 		op->type = R_ANAL_OP_TYPE_RET;
1093 		break;
1094 	}
1095 	case HEX_INS_DUPLEX_RD___ADD__RS____1____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1096 		// Rd = add (Rs, #-1) ; if (! p0.new) dealloc_return:nt
1097 		op->type = R_ANAL_OP_TYPE_RET;
1098 		break;
1099 	}
1100 	case HEX_INS_DUPLEX_RD___ADD__RS____1____IF__P0__DEALLOC_RETURN: {
1101 		// Rd = add (Rs, #-1) ; if (p0) dealloc_return
1102 		op->type = R_ANAL_OP_TYPE_RET;
1103 		break;
1104 	}
1105 	case HEX_INS_DUPLEX_RD___ADD__RS____1____IF__P0_NEW__DEALLOC_RETURN_NT: {
1106 		// Rd = add (Rs, #-1) ; if (p0.new) dealloc_return:nt
1107 		op->type = R_ANAL_OP_TYPE_RET;
1108 		break;
1109 	}
1110 	case HEX_INS_DUPLEX_RD___ADD__RS___1____DEALLOC_RETURN: {
1111 		// Rd = add (Rs, #1) ; dealloc_return
1112 		op->type = R_ANAL_OP_TYPE_RET;
1113 		break;
1114 	}
1115 	case HEX_INS_DUPLEX_RD___ADD__RS___1____IF___NOT__P0__DEALLOC_RETURN: {
1116 		// Rd = add (Rs, #1) ; if (! p0) dealloc_return
1117 		op->type = R_ANAL_OP_TYPE_RET;
1118 		break;
1119 	}
1120 	case HEX_INS_DUPLEX_RD___ADD__RS___1____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1121 		// Rd = add (Rs, #1) ; if (! p0.new) dealloc_return:nt
1122 		op->type = R_ANAL_OP_TYPE_RET;
1123 		break;
1124 	}
1125 	case HEX_INS_DUPLEX_RD___ADD__RS___1____IF__P0__DEALLOC_RETURN: {
1126 		// Rd = add (Rs, #1) ; if (p0) dealloc_return
1127 		op->type = R_ANAL_OP_TYPE_RET;
1128 		break;
1129 	}
1130 	case HEX_INS_DUPLEX_RD___ADD__RS___1____IF__P0_NEW__DEALLOC_RETURN_NT: {
1131 		// Rd = add (Rs, #1) ; if (p0.new) dealloc_return:nt
1132 		op->type = R_ANAL_OP_TYPE_RET;
1133 		break;
1134 	}
1135 	case HEX_INS_DUPLEX_RD___ADD__SP___U6_2____DEALLOC_RETURN: {
1136 		// Rd = add (Sp, #u6:2) ; dealloc_return
1137 		op->type = R_ANAL_OP_TYPE_RET;
1138 		break;
1139 	}
1140 	case HEX_INS_DUPLEX_RD___ADD__SP___U6_2____IF___NOT__P0__DEALLOC_RETURN: {
1141 		// Rd = add (Sp, #u6:2) ; if (! p0) dealloc_return
1142 		op->type = R_ANAL_OP_TYPE_RET;
1143 		break;
1144 	}
1145 	case HEX_INS_DUPLEX_RD___ADD__SP___U6_2____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1146 		// Rd = add (Sp, #u6:2) ; if (! p0.new) dealloc_return:nt
1147 		op->type = R_ANAL_OP_TYPE_RET;
1148 		break;
1149 	}
1150 	case HEX_INS_DUPLEX_RD___ADD__SP___U6_2____IF__P0__DEALLOC_RETURN: {
1151 		// Rd = add (Sp, #u6:2) ; if (p0) dealloc_return
1152 		op->type = R_ANAL_OP_TYPE_RET;
1153 		break;
1154 	}
1155 	case HEX_INS_DUPLEX_RD___ADD__SP___U6_2____IF__P0_NEW__DEALLOC_RETURN_NT: {
1156 		// Rd = add (Sp, #u6:2) ; if (p0.new) dealloc_return:nt
1157 		op->type = R_ANAL_OP_TYPE_RET;
1158 		break;
1159 	}
1160 	case HEX_INS_DUPLEX_RD___AND__RS___1____DEALLOC_RETURN: {
1161 		// Rd = and (Rs, #1) ; dealloc_return
1162 		op->type = R_ANAL_OP_TYPE_RET;
1163 		break;
1164 	}
1165 	case HEX_INS_DUPLEX_RD___AND__RS___1____IF___NOT__P0__DEALLOC_RETURN: {
1166 		// Rd = and (Rs, #1) ; if (! p0) dealloc_return
1167 		op->type = R_ANAL_OP_TYPE_RET;
1168 		break;
1169 	}
1170 	case HEX_INS_DUPLEX_RD___AND__RS___1____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1171 		// Rd = and (Rs, #1) ; if (! p0.new) dealloc_return:nt
1172 		op->type = R_ANAL_OP_TYPE_RET;
1173 		break;
1174 	}
1175 	case HEX_INS_DUPLEX_RD___AND__RS___1____IF__P0__DEALLOC_RETURN: {
1176 		// Rd = and (Rs, #1) ; if (p0) dealloc_return
1177 		op->type = R_ANAL_OP_TYPE_RET;
1178 		break;
1179 	}
1180 	case HEX_INS_DUPLEX_RD___AND__RS___1____IF__P0_NEW__DEALLOC_RETURN_NT: {
1181 		// Rd = and (Rs, #1) ; if (p0.new) dealloc_return:nt
1182 		op->type = R_ANAL_OP_TYPE_RET;
1183 		break;
1184 	}
1185 	case HEX_INS_DUPLEX_RD___AND__RS___255____DEALLOC_RETURN: {
1186 		// Rd = and (Rs, #255) ; dealloc_return
1187 		op->type = R_ANAL_OP_TYPE_RET;
1188 		break;
1189 	}
1190 	case HEX_INS_DUPLEX_RD___AND__RS___255____IF___NOT__P0__DEALLOC_RETURN: {
1191 		// Rd = and (Rs, #255) ; if (! p0) dealloc_return
1192 		op->type = R_ANAL_OP_TYPE_RET;
1193 		break;
1194 	}
1195 	case HEX_INS_DUPLEX_RD___AND__RS___255____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1196 		// Rd = and (Rs, #255) ; if (! p0.new) dealloc_return:nt
1197 		op->type = R_ANAL_OP_TYPE_RET;
1198 		break;
1199 	}
1200 	case HEX_INS_DUPLEX_RD___AND__RS___255____IF__P0__DEALLOC_RETURN: {
1201 		// Rd = and (Rs, #255) ; if (p0) dealloc_return
1202 		op->type = R_ANAL_OP_TYPE_RET;
1203 		break;
1204 	}
1205 	case HEX_INS_DUPLEX_RD___AND__RS___255____IF__P0_NEW__DEALLOC_RETURN_NT: {
1206 		// Rd = and (Rs, #255) ; if (p0.new) dealloc_return:nt
1207 		op->type = R_ANAL_OP_TYPE_RET;
1208 		break;
1209 	}
1210 	case HEX_INS_DUPLEX_RD___MEMB__RS____U3_0____DEALLOC_RETURN: {
1211 		// Rd = memb (Rs + #u3:0) ; dealloc_return
1212 		op->type = R_ANAL_OP_TYPE_RET;
1213 		break;
1214 	}
1215 	case HEX_INS_DUPLEX_RD___MEMB__RS____U3_0____IF___NOT__P0__DEALLOC_RETURN: {
1216 		// Rd = memb (Rs + #u3:0) ; if (! p0) dealloc_return
1217 		op->type = R_ANAL_OP_TYPE_RET;
1218 		break;
1219 	}
1220 	case HEX_INS_DUPLEX_RD___MEMB__RS____U3_0____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1221 		// Rd = memb (Rs + #u3:0) ; if (! p0.new) dealloc_return:nt
1222 		op->type = R_ANAL_OP_TYPE_RET;
1223 		break;
1224 	}
1225 	case HEX_INS_DUPLEX_RD___MEMB__RS____U3_0____IF__P0__DEALLOC_RETURN: {
1226 		// Rd = memb (Rs + #u3:0) ; if (p0) dealloc_return
1227 		op->type = R_ANAL_OP_TYPE_RET;
1228 		break;
1229 	}
1230 	case HEX_INS_DUPLEX_RD___MEMB__RS____U3_0____IF__P0_NEW__DEALLOC_RETURN_NT: {
1231 		// Rd = memb (Rs + #u3:0) ; if (p0.new) dealloc_return:nt
1232 		op->type = R_ANAL_OP_TYPE_RET;
1233 		break;
1234 	}
1235 	case HEX_INS_DUPLEX_RD___MEMH__RS____U3_1____DEALLOC_RETURN: {
1236 		// Rd = memh (Rs + #u3:1) ; dealloc_return
1237 		op->type = R_ANAL_OP_TYPE_RET;
1238 		break;
1239 	}
1240 	case HEX_INS_DUPLEX_RD___MEMH__RS____U3_1____IF___NOT__P0__DEALLOC_RETURN: {
1241 		// Rd = memh (Rs + #u3:1) ; if (! p0) dealloc_return
1242 		op->type = R_ANAL_OP_TYPE_RET;
1243 		break;
1244 	}
1245 	case HEX_INS_DUPLEX_RD___MEMH__RS____U3_1____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1246 		// Rd = memh (Rs + #u3:1) ; if (! p0.new) dealloc_return:nt
1247 		op->type = R_ANAL_OP_TYPE_RET;
1248 		break;
1249 	}
1250 	case HEX_INS_DUPLEX_RD___MEMH__RS____U3_1____IF__P0__DEALLOC_RETURN: {
1251 		// Rd = memh (Rs + #u3:1) ; if (p0) dealloc_return
1252 		op->type = R_ANAL_OP_TYPE_RET;
1253 		break;
1254 	}
1255 	case HEX_INS_DUPLEX_RD___MEMH__RS____U3_1____IF__P0_NEW__DEALLOC_RETURN_NT: {
1256 		// Rd = memh (Rs + #u3:1) ; if (p0.new) dealloc_return:nt
1257 		op->type = R_ANAL_OP_TYPE_RET;
1258 		break;
1259 	}
1260 	case HEX_INS_DUPLEX_RD___MEMUB__RS____U4_0____DEALLOC_RETURN: {
1261 		// Rd = memub (Rs + #u4:0) ; dealloc_return
1262 		op->type = R_ANAL_OP_TYPE_RET;
1263 		break;
1264 	}
1265 	case HEX_INS_DUPLEX_RD___MEMUB__RS____U4_0____IF___NOT__P0__DEALLOC_RETURN: {
1266 		// Rd = memub (Rs + #u4:0) ; if (! p0) dealloc_return
1267 		op->type = R_ANAL_OP_TYPE_RET;
1268 		break;
1269 	}
1270 	case HEX_INS_DUPLEX_RD___MEMUB__RS____U4_0____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1271 		// Rd = memub (Rs + #u4:0) ; if (! p0.new) dealloc_return:nt
1272 		op->type = R_ANAL_OP_TYPE_RET;
1273 		break;
1274 	}
1275 	case HEX_INS_DUPLEX_RD___MEMUB__RS____U4_0____IF__P0__DEALLOC_RETURN: {
1276 		// Rd = memub (Rs + #u4:0) ; if (p0) dealloc_return
1277 		op->type = R_ANAL_OP_TYPE_RET;
1278 		break;
1279 	}
1280 	case HEX_INS_DUPLEX_RD___MEMUB__RS____U4_0____IF__P0_NEW__DEALLOC_RETURN_NT: {
1281 		// Rd = memub (Rs + #u4:0) ; if (p0.new) dealloc_return:nt
1282 		op->type = R_ANAL_OP_TYPE_RET;
1283 		break;
1284 	}
1285 	case HEX_INS_DUPLEX_RD___MEMUH__RS____U3_1____DEALLOC_RETURN: {
1286 		// Rd = memuh (Rs + #u3:1) ; dealloc_return
1287 		op->type = R_ANAL_OP_TYPE_RET;
1288 		break;
1289 	}
1290 	case HEX_INS_DUPLEX_RD___MEMUH__RS____U3_1____IF___NOT__P0__DEALLOC_RETURN: {
1291 		// Rd = memuh (Rs + #u3:1) ; if (! p0) dealloc_return
1292 		op->type = R_ANAL_OP_TYPE_RET;
1293 		break;
1294 	}
1295 	case HEX_INS_DUPLEX_RD___MEMUH__RS____U3_1____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1296 		// Rd = memuh (Rs + #u3:1) ; if (! p0.new) dealloc_return:nt
1297 		op->type = R_ANAL_OP_TYPE_RET;
1298 		break;
1299 	}
1300 	case HEX_INS_DUPLEX_RD___MEMUH__RS____U3_1____IF__P0__DEALLOC_RETURN: {
1301 		// Rd = memuh (Rs + #u3:1) ; if (p0) dealloc_return
1302 		op->type = R_ANAL_OP_TYPE_RET;
1303 		break;
1304 	}
1305 	case HEX_INS_DUPLEX_RD___MEMUH__RS____U3_1____IF__P0_NEW__DEALLOC_RETURN_NT: {
1306 		// Rd = memuh (Rs + #u3:1) ; if (p0.new) dealloc_return:nt
1307 		op->type = R_ANAL_OP_TYPE_RET;
1308 		break;
1309 	}
1310 	case HEX_INS_DUPLEX_RD___MEMW__RS____U4_2____DEALLOC_RETURN: {
1311 		// Rd = memw (Rs + #u4:2) ; dealloc_return
1312 		op->type = R_ANAL_OP_TYPE_RET;
1313 		break;
1314 	}
1315 	case HEX_INS_DUPLEX_RD___MEMW__RS____U4_2____IF___NOT__P0__DEALLOC_RETURN: {
1316 		// Rd = memw (Rs + #u4:2) ; if (! p0) dealloc_return
1317 		op->type = R_ANAL_OP_TYPE_RET;
1318 		break;
1319 	}
1320 	case HEX_INS_DUPLEX_RD___MEMW__RS____U4_2____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1321 		// Rd = memw (Rs + #u4:2) ; if (! p0.new) dealloc_return:nt
1322 		op->type = R_ANAL_OP_TYPE_RET;
1323 		break;
1324 	}
1325 	case HEX_INS_DUPLEX_RD___MEMW__RS____U4_2____IF__P0__DEALLOC_RETURN: {
1326 		// Rd = memw (Rs + #u4:2) ; if (p0) dealloc_return
1327 		op->type = R_ANAL_OP_TYPE_RET;
1328 		break;
1329 	}
1330 	case HEX_INS_DUPLEX_RD___MEMW__RS____U4_2____IF__P0_NEW__DEALLOC_RETURN_NT: {
1331 		// Rd = memw (Rs + #u4:2) ; if (p0.new) dealloc_return:nt
1332 		op->type = R_ANAL_OP_TYPE_RET;
1333 		break;
1334 	}
1335 	case HEX_INS_DUPLEX_RD___MEMW__SP____U5_2____DEALLOC_RETURN: {
1336 		// Rd = memw (Sp + #u5:2) ; dealloc_return
1337 		op->type = R_ANAL_OP_TYPE_RET;
1338 		break;
1339 	}
1340 	case HEX_INS_DUPLEX_RD___MEMW__SP____U5_2____IF___NOT__P0__DEALLOC_RETURN: {
1341 		// Rd = memw (Sp + #u5:2) ; if (! p0) dealloc_return
1342 		op->type = R_ANAL_OP_TYPE_RET;
1343 		break;
1344 	}
1345 	case HEX_INS_DUPLEX_RD___MEMW__SP____U5_2____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1346 		// Rd = memw (Sp + #u5:2) ; if (! p0.new) dealloc_return:nt
1347 		op->type = R_ANAL_OP_TYPE_RET;
1348 		break;
1349 	}
1350 	case HEX_INS_DUPLEX_RD___MEMW__SP____U5_2____IF__P0__DEALLOC_RETURN: {
1351 		// Rd = memw (Sp + #u5:2) ; if (p0) dealloc_return
1352 		op->type = R_ANAL_OP_TYPE_RET;
1353 		break;
1354 	}
1355 	case HEX_INS_DUPLEX_RD___MEMW__SP____U5_2____IF__P0_NEW__DEALLOC_RETURN_NT: {
1356 		// Rd = memw (Sp + #u5:2) ; if (p0.new) dealloc_return:nt
1357 		op->type = R_ANAL_OP_TYPE_RET;
1358 		break;
1359 	}
1360 	case HEX_INS_DUPLEX_RD___SXTB__RS____DEALLOC_RETURN: {
1361 		// Rd = sxtb (Rs) ; dealloc_return
1362 		op->type = R_ANAL_OP_TYPE_RET;
1363 		break;
1364 	}
1365 	case HEX_INS_DUPLEX_RD___SXTB__RS____IF___NOT__P0__DEALLOC_RETURN: {
1366 		// Rd = sxtb (Rs) ; if (! p0) dealloc_return
1367 		op->type = R_ANAL_OP_TYPE_RET;
1368 		break;
1369 	}
1370 	case HEX_INS_DUPLEX_RD___SXTB__RS____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1371 		// Rd = sxtb (Rs) ; if (! p0.new) dealloc_return:nt
1372 		op->type = R_ANAL_OP_TYPE_RET;
1373 		break;
1374 	}
1375 	case HEX_INS_DUPLEX_RD___SXTB__RS____IF__P0__DEALLOC_RETURN: {
1376 		// Rd = sxtb (Rs) ; if (p0) dealloc_return
1377 		op->type = R_ANAL_OP_TYPE_RET;
1378 		break;
1379 	}
1380 	case HEX_INS_DUPLEX_RD___SXTB__RS____IF__P0_NEW__DEALLOC_RETURN_NT: {
1381 		// Rd = sxtb (Rs) ; if (p0.new) dealloc_return:nt
1382 		op->type = R_ANAL_OP_TYPE_RET;
1383 		break;
1384 	}
1385 	case HEX_INS_DUPLEX_RD___SXTH__RS____DEALLOC_RETURN: {
1386 		// Rd = sxth (Rs) ; dealloc_return
1387 		op->type = R_ANAL_OP_TYPE_RET;
1388 		break;
1389 	}
1390 	case HEX_INS_DUPLEX_RD___SXTH__RS____IF___NOT__P0__DEALLOC_RETURN: {
1391 		// Rd = sxth (Rs) ; if (! p0) dealloc_return
1392 		op->type = R_ANAL_OP_TYPE_RET;
1393 		break;
1394 	}
1395 	case HEX_INS_DUPLEX_RD___SXTH__RS____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1396 		// Rd = sxth (Rs) ; if (! p0.new) dealloc_return:nt
1397 		op->type = R_ANAL_OP_TYPE_RET;
1398 		break;
1399 	}
1400 	case HEX_INS_DUPLEX_RD___SXTH__RS____IF__P0__DEALLOC_RETURN: {
1401 		// Rd = sxth (Rs) ; if (p0) dealloc_return
1402 		op->type = R_ANAL_OP_TYPE_RET;
1403 		break;
1404 	}
1405 	case HEX_INS_DUPLEX_RD___SXTH__RS____IF__P0_NEW__DEALLOC_RETURN_NT: {
1406 		// Rd = sxth (Rs) ; if (p0.new) dealloc_return:nt
1407 		op->type = R_ANAL_OP_TYPE_RET;
1408 		break;
1409 	}
1410 	case HEX_INS_DUPLEX_RD___ZXTH__RS____DEALLOC_RETURN: {
1411 		// Rd = zxth (Rs) ; dealloc_return
1412 		op->type = R_ANAL_OP_TYPE_RET;
1413 		break;
1414 	}
1415 	case HEX_INS_DUPLEX_RD___ZXTH__RS____IF___NOT__P0__DEALLOC_RETURN: {
1416 		// Rd = zxth (Rs) ; if (! p0) dealloc_return
1417 		op->type = R_ANAL_OP_TYPE_RET;
1418 		break;
1419 	}
1420 	case HEX_INS_DUPLEX_RD___ZXTH__RS____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1421 		// Rd = zxth (Rs) ; if (! p0.new) dealloc_return:nt
1422 		op->type = R_ANAL_OP_TYPE_RET;
1423 		break;
1424 	}
1425 	case HEX_INS_DUPLEX_RD___ZXTH__RS____IF__P0__DEALLOC_RETURN: {
1426 		// Rd = zxth (Rs) ; if (p0) dealloc_return
1427 		op->type = R_ANAL_OP_TYPE_RET;
1428 		break;
1429 	}
1430 	case HEX_INS_DUPLEX_RD___ZXTH__RS____IF__P0_NEW__DEALLOC_RETURN_NT: {
1431 		// Rd = zxth (Rs) ; if (p0.new) dealloc_return:nt
1432 		op->type = R_ANAL_OP_TYPE_RET;
1433 		break;
1434 	}
1435 	case HEX_INS_DUPLEX_RDD___COMBINE___0___U2____DEALLOC_RETURN: {
1436 		// Rdd = combine (#0, #u2) ; dealloc_return
1437 		op->type = R_ANAL_OP_TYPE_RET;
1438 		break;
1439 	}
1440 	case HEX_INS_DUPLEX_RDD___COMBINE___0___U2____IF___NOT__P0__DEALLOC_RETURN: {
1441 		// Rdd = combine (#0, #u2) ; if (! p0) dealloc_return
1442 		op->type = R_ANAL_OP_TYPE_RET;
1443 		break;
1444 	}
1445 	case HEX_INS_DUPLEX_RDD___COMBINE___0___U2____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1446 		// Rdd = combine (#0, #u2) ; if (! p0.new) dealloc_return:nt
1447 		op->type = R_ANAL_OP_TYPE_RET;
1448 		break;
1449 	}
1450 	case HEX_INS_DUPLEX_RDD___COMBINE___0___U2____IF__P0__DEALLOC_RETURN: {
1451 		// Rdd = combine (#0, #u2) ; if (p0) dealloc_return
1452 		op->type = R_ANAL_OP_TYPE_RET;
1453 		break;
1454 	}
1455 	case HEX_INS_DUPLEX_RDD___COMBINE___0___U2____IF__P0_NEW__DEALLOC_RETURN_NT: {
1456 		// Rdd = combine (#0, #u2) ; if (p0.new) dealloc_return:nt
1457 		op->type = R_ANAL_OP_TYPE_RET;
1458 		break;
1459 	}
1460 	case HEX_INS_DUPLEX_RDD___COMBINE___0__RS____DEALLOC_RETURN: {
1461 		// Rdd = combine (#0, Rs) ; dealloc_return
1462 		op->type = R_ANAL_OP_TYPE_RET;
1463 		break;
1464 	}
1465 	case HEX_INS_DUPLEX_RDD___COMBINE___0__RS____IF___NOT__P0__DEALLOC_RETURN: {
1466 		// Rdd = combine (#0, Rs) ; if (! p0) dealloc_return
1467 		op->type = R_ANAL_OP_TYPE_RET;
1468 		break;
1469 	}
1470 	case HEX_INS_DUPLEX_RDD___COMBINE___0__RS____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1471 		// Rdd = combine (#0, Rs) ; if (! p0.new) dealloc_return:nt
1472 		op->type = R_ANAL_OP_TYPE_RET;
1473 		break;
1474 	}
1475 	case HEX_INS_DUPLEX_RDD___COMBINE___0__RS____IF__P0__DEALLOC_RETURN: {
1476 		// Rdd = combine (#0, Rs) ; if (p0) dealloc_return
1477 		op->type = R_ANAL_OP_TYPE_RET;
1478 		break;
1479 	}
1480 	case HEX_INS_DUPLEX_RDD___COMBINE___0__RS____IF__P0_NEW__DEALLOC_RETURN_NT: {
1481 		// Rdd = combine (#0, Rs) ; if (p0.new) dealloc_return:nt
1482 		op->type = R_ANAL_OP_TYPE_RET;
1483 		break;
1484 	}
1485 	case HEX_INS_DUPLEX_RDD___COMBINE___1___U2____DEALLOC_RETURN: {
1486 		// Rdd = combine (#1, #u2) ; dealloc_return
1487 		op->type = R_ANAL_OP_TYPE_RET;
1488 		break;
1489 	}
1490 	case HEX_INS_DUPLEX_RDD___COMBINE___1___U2____IF___NOT__P0__DEALLOC_RETURN: {
1491 		// Rdd = combine (#1, #u2) ; if (! p0) dealloc_return
1492 		op->type = R_ANAL_OP_TYPE_RET;
1493 		break;
1494 	}
1495 	case HEX_INS_DUPLEX_RDD___COMBINE___1___U2____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1496 		// Rdd = combine (#1, #u2) ; if (! p0.new) dealloc_return:nt
1497 		op->type = R_ANAL_OP_TYPE_RET;
1498 		break;
1499 	}
1500 	case HEX_INS_DUPLEX_RDD___COMBINE___1___U2____IF__P0__DEALLOC_RETURN: {
1501 		// Rdd = combine (#1, #u2) ; if (p0) dealloc_return
1502 		op->type = R_ANAL_OP_TYPE_RET;
1503 		break;
1504 	}
1505 	case HEX_INS_DUPLEX_RDD___COMBINE___1___U2____IF__P0_NEW__DEALLOC_RETURN_NT: {
1506 		// Rdd = combine (#1, #u2) ; if (p0.new) dealloc_return:nt
1507 		op->type = R_ANAL_OP_TYPE_RET;
1508 		break;
1509 	}
1510 	case HEX_INS_DUPLEX_RDD___COMBINE___2___U2____DEALLOC_RETURN: {
1511 		// Rdd = combine (#2, #u2) ; dealloc_return
1512 		op->type = R_ANAL_OP_TYPE_RET;
1513 		break;
1514 	}
1515 	case HEX_INS_DUPLEX_RDD___COMBINE___2___U2____IF___NOT__P0__DEALLOC_RETURN: {
1516 		// Rdd = combine (#2, #u2) ; if (! p0) dealloc_return
1517 		op->type = R_ANAL_OP_TYPE_RET;
1518 		break;
1519 	}
1520 	case HEX_INS_DUPLEX_RDD___COMBINE___2___U2____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1521 		// Rdd = combine (#2, #u2) ; if (! p0.new) dealloc_return:nt
1522 		op->type = R_ANAL_OP_TYPE_RET;
1523 		break;
1524 	}
1525 	case HEX_INS_DUPLEX_RDD___COMBINE___2___U2____IF__P0__DEALLOC_RETURN: {
1526 		// Rdd = combine (#2, #u2) ; if (p0) dealloc_return
1527 		op->type = R_ANAL_OP_TYPE_RET;
1528 		break;
1529 	}
1530 	case HEX_INS_DUPLEX_RDD___COMBINE___2___U2____IF__P0_NEW__DEALLOC_RETURN_NT: {
1531 		// Rdd = combine (#2, #u2) ; if (p0.new) dealloc_return:nt
1532 		op->type = R_ANAL_OP_TYPE_RET;
1533 		break;
1534 	}
1535 	case HEX_INS_DUPLEX_RDD___COMBINE___3___U2____DEALLOC_RETURN: {
1536 		// Rdd = combine (#3, #u2) ; dealloc_return
1537 		op->type = R_ANAL_OP_TYPE_RET;
1538 		break;
1539 	}
1540 	case HEX_INS_DUPLEX_RDD___COMBINE___3___U2____IF___NOT__P0__DEALLOC_RETURN: {
1541 		// Rdd = combine (#3, #u2) ; if (! p0) dealloc_return
1542 		op->type = R_ANAL_OP_TYPE_RET;
1543 		break;
1544 	}
1545 	case HEX_INS_DUPLEX_RDD___COMBINE___3___U2____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1546 		// Rdd = combine (#3, #u2) ; if (! p0.new) dealloc_return:nt
1547 		op->type = R_ANAL_OP_TYPE_RET;
1548 		break;
1549 	}
1550 	case HEX_INS_DUPLEX_RDD___COMBINE___3___U2____IF__P0__DEALLOC_RETURN: {
1551 		// Rdd = combine (#3, #u2) ; if (p0) dealloc_return
1552 		op->type = R_ANAL_OP_TYPE_RET;
1553 		break;
1554 	}
1555 	case HEX_INS_DUPLEX_RDD___COMBINE___3___U2____IF__P0_NEW__DEALLOC_RETURN_NT: {
1556 		// Rdd = combine (#3, #u2) ; if (p0.new) dealloc_return:nt
1557 		op->type = R_ANAL_OP_TYPE_RET;
1558 		break;
1559 	}
1560 	case HEX_INS_DUPLEX_RDD___COMBINE__RS___0____DEALLOC_RETURN: {
1561 		// Rdd = combine (Rs, #0) ; dealloc_return
1562 		op->type = R_ANAL_OP_TYPE_RET;
1563 		break;
1564 	}
1565 	case HEX_INS_DUPLEX_RDD___COMBINE__RS___0____IF___NOT__P0__DEALLOC_RETURN: {
1566 		// Rdd = combine (Rs, #0) ; if (! p0) dealloc_return
1567 		op->type = R_ANAL_OP_TYPE_RET;
1568 		break;
1569 	}
1570 	case HEX_INS_DUPLEX_RDD___COMBINE__RS___0____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1571 		// Rdd = combine (Rs, #0) ; if (! p0.new) dealloc_return:nt
1572 		op->type = R_ANAL_OP_TYPE_RET;
1573 		break;
1574 	}
1575 	case HEX_INS_DUPLEX_RDD___COMBINE__RS___0____IF__P0__DEALLOC_RETURN: {
1576 		// Rdd = combine (Rs, #0) ; if (p0) dealloc_return
1577 		op->type = R_ANAL_OP_TYPE_RET;
1578 		break;
1579 	}
1580 	case HEX_INS_DUPLEX_RDD___COMBINE__RS___0____IF__P0_NEW__DEALLOC_RETURN_NT: {
1581 		// Rdd = combine (Rs, #0) ; if (p0.new) dealloc_return:nt
1582 		op->type = R_ANAL_OP_TYPE_RET;
1583 		break;
1584 	}
1585 	case HEX_INS_DUPLEX_RDD___MEMD__SP____U5_3____DEALLOC_RETURN: {
1586 		// Rdd = memd (Sp + #u5:3) ; dealloc_return
1587 		op->type = R_ANAL_OP_TYPE_RET;
1588 		break;
1589 	}
1590 	case HEX_INS_DUPLEX_RDD___MEMD__SP____U5_3____IF___NOT__P0__DEALLOC_RETURN: {
1591 		// Rdd = memd (Sp + #u5:3) ; if (! p0) dealloc_return
1592 		op->type = R_ANAL_OP_TYPE_RET;
1593 		break;
1594 	}
1595 	case HEX_INS_DUPLEX_RDD___MEMD__SP____U5_3____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1596 		// Rdd = memd (Sp + #u5:3) ; if (! p0.new) dealloc_return:nt
1597 		op->type = R_ANAL_OP_TYPE_RET;
1598 		break;
1599 	}
1600 	case HEX_INS_DUPLEX_RDD___MEMD__SP____U5_3____IF__P0__DEALLOC_RETURN: {
1601 		// Rdd = memd (Sp + #u5:3) ; if (p0) dealloc_return
1602 		op->type = R_ANAL_OP_TYPE_RET;
1603 		break;
1604 	}
1605 	case HEX_INS_DUPLEX_RDD___MEMD__SP____U5_3____IF__P0_NEW__DEALLOC_RETURN_NT: {
1606 		// Rdd = memd (Sp + #u5:3) ; if (p0.new) dealloc_return:nt
1607 		op->type = R_ANAL_OP_TYPE_RET;
1608 		break;
1609 	}
1610 	case HEX_INS_DUPLEX_RX___ADD__RS__RX____DEALLOC_RETURN: {
1611 		// Rx = add (Rs, Rx) ; dealloc_return
1612 		op->type = R_ANAL_OP_TYPE_RET;
1613 		break;
1614 	}
1615 	case HEX_INS_DUPLEX_RX___ADD__RS__RX____IF___NOT__P0__DEALLOC_RETURN: {
1616 		// Rx = add (Rs, Rx) ; if (! p0) dealloc_return
1617 		op->type = R_ANAL_OP_TYPE_RET;
1618 		break;
1619 	}
1620 	case HEX_INS_DUPLEX_RX___ADD__RS__RX____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1621 		// Rx = add (Rs, Rx) ; if (! p0.new) dealloc_return:nt
1622 		op->type = R_ANAL_OP_TYPE_RET;
1623 		break;
1624 	}
1625 	case HEX_INS_DUPLEX_RX___ADD__RS__RX____IF__P0__DEALLOC_RETURN: {
1626 		// Rx = add (Rs, Rx) ; if (p0) dealloc_return
1627 		op->type = R_ANAL_OP_TYPE_RET;
1628 		break;
1629 	}
1630 	case HEX_INS_DUPLEX_RX___ADD__RS__RX____IF__P0_NEW__DEALLOC_RETURN_NT: {
1631 		// Rx = add (Rs, Rx) ; if (p0.new) dealloc_return:nt
1632 		op->type = R_ANAL_OP_TYPE_RET;
1633 		break;
1634 	}
1635 	case HEX_INS_DUPLEX_RX___ADD__RX___S7____DEALLOC_RETURN: {
1636 		// Rx = add (Rx, #s7) ; dealloc_return
1637 		op->type = R_ANAL_OP_TYPE_RET;
1638 		break;
1639 	}
1640 	case HEX_INS_DUPLEX_RX___ADD__RX___S7____IF___NOT__P0__DEALLOC_RETURN: {
1641 		// Rx = add (Rx, #s7) ; if (! p0) dealloc_return
1642 		op->type = R_ANAL_OP_TYPE_RET;
1643 		break;
1644 	}
1645 	case HEX_INS_DUPLEX_RX___ADD__RX___S7____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1646 		// Rx = add (Rx, #s7) ; if (! p0.new) dealloc_return:nt
1647 		op->type = R_ANAL_OP_TYPE_RET;
1648 		break;
1649 	}
1650 	case HEX_INS_DUPLEX_RX___ADD__RX___S7____IF__P0__DEALLOC_RETURN: {
1651 		// Rx = add (Rx, #s7) ; if (p0) dealloc_return
1652 		op->type = R_ANAL_OP_TYPE_RET;
1653 		break;
1654 	}
1655 	case HEX_INS_DUPLEX_RX___ADD__RX___S7____IF__P0_NEW__DEALLOC_RETURN_NT: {
1656 		// Rx = add (Rx, #s7) ; if (p0.new) dealloc_return:nt
1657 		op->type = R_ANAL_OP_TYPE_RET;
1658 		break;
1659 	}
1660 	case HEX_INS_DUPLEX_RX___ADD__RX__RS____DEALLOC_RETURN: {
1661 		// Rx = add (Rx, Rs) ; dealloc_return
1662 		op->type = R_ANAL_OP_TYPE_RET;
1663 		break;
1664 	}
1665 	case HEX_INS_DUPLEX_RX___ADD__RX__RS____IF___NOT__P0__DEALLOC_RETURN: {
1666 		// Rx = add (Rx, Rs) ; if (! p0) dealloc_return
1667 		op->type = R_ANAL_OP_TYPE_RET;
1668 		break;
1669 	}
1670 	case HEX_INS_DUPLEX_RX___ADD__RX__RS____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1671 		// Rx = add (Rx, Rs) ; if (! p0.new) dealloc_return:nt
1672 		op->type = R_ANAL_OP_TYPE_RET;
1673 		break;
1674 	}
1675 	case HEX_INS_DUPLEX_RX___ADD__RX__RS____IF__P0__DEALLOC_RETURN: {
1676 		// Rx = add (Rx, Rs) ; if (p0) dealloc_return
1677 		op->type = R_ANAL_OP_TYPE_RET;
1678 		break;
1679 	}
1680 	case HEX_INS_DUPLEX_RX___ADD__RX__RS____IF__P0_NEW__DEALLOC_RETURN_NT: {
1681 		// Rx = add (Rx, Rs) ; if (p0.new) dealloc_return:nt
1682 		op->type = R_ANAL_OP_TYPE_RET;
1683 		break;
1684 	}
1685 	case HEX_INS_DUPLEX_IF___NOT__P0__RD____0___DEALLOC_RETURN: {
1686 		// if (! p0) Rd = #0 ; dealloc_return
1687 		op->type = R_ANAL_OP_TYPE_RET;
1688 		break;
1689 	}
1690 	case HEX_INS_DUPLEX_IF___NOT__P0__RD____0___IF___NOT__P0__DEALLOC_RETURN: {
1691 		// if (! p0) Rd = #0 ; if (! p0) dealloc_return
1692 		op->type = R_ANAL_OP_TYPE_RET;
1693 		break;
1694 	}
1695 	case HEX_INS_DUPLEX_IF___NOT__P0__RD____0___IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1696 		// if (! p0) Rd = #0 ; if (! p0.new) dealloc_return:nt
1697 		op->type = R_ANAL_OP_TYPE_RET;
1698 		break;
1699 	}
1700 	case HEX_INS_DUPLEX_IF___NOT__P0__RD____0___IF__P0__DEALLOC_RETURN: {
1701 		// if (! p0) Rd = #0 ; if (p0) dealloc_return
1702 		op->type = R_ANAL_OP_TYPE_RET;
1703 		break;
1704 	}
1705 	case HEX_INS_DUPLEX_IF___NOT__P0__RD____0___IF__P0_NEW__DEALLOC_RETURN_NT: {
1706 		// if (! p0) Rd = #0 ; if (p0.new) dealloc_return:nt
1707 		op->type = R_ANAL_OP_TYPE_RET;
1708 		break;
1709 	}
1710 	case HEX_INS_DUPLEX_IF___NOT__P0_NEW__RD____0___DEALLOC_RETURN: {
1711 		// if (! p0.new) Rd = #0 ; dealloc_return
1712 		op->type = R_ANAL_OP_TYPE_RET;
1713 		break;
1714 	}
1715 	case HEX_INS_DUPLEX_IF___NOT__P0_NEW__RD____0___IF___NOT__P0__DEALLOC_RETURN: {
1716 		// if (! p0.new) Rd = #0 ; if (! p0) dealloc_return
1717 		op->type = R_ANAL_OP_TYPE_RET;
1718 		break;
1719 	}
1720 	case HEX_INS_DUPLEX_IF___NOT__P0_NEW__RD____0___IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1721 		// if (! p0.new) Rd = #0 ; if (! p0.new) dealloc_return:nt
1722 		op->type = R_ANAL_OP_TYPE_RET;
1723 		break;
1724 	}
1725 	case HEX_INS_DUPLEX_IF___NOT__P0_NEW__RD____0___IF__P0__DEALLOC_RETURN: {
1726 		// if (! p0.new) Rd = #0 ; if (p0) dealloc_return
1727 		op->type = R_ANAL_OP_TYPE_RET;
1728 		break;
1729 	}
1730 	case HEX_INS_DUPLEX_IF___NOT__P0_NEW__RD____0___IF__P0_NEW__DEALLOC_RETURN_NT: {
1731 		// if (! p0.new) Rd = #0 ; if (p0.new) dealloc_return:nt
1732 		op->type = R_ANAL_OP_TYPE_RET;
1733 		break;
1734 	}
1735 	case HEX_INS_DUPLEX_IF__P0__RD____0___DEALLOC_RETURN: {
1736 		// if (p0) Rd = #0 ; dealloc_return
1737 		op->type = R_ANAL_OP_TYPE_RET;
1738 		break;
1739 	}
1740 	case HEX_INS_DUPLEX_IF__P0__RD____0___IF___NOT__P0__DEALLOC_RETURN: {
1741 		// if (p0) Rd = #0 ; if (! p0) dealloc_return
1742 		op->type = R_ANAL_OP_TYPE_RET;
1743 		break;
1744 	}
1745 	case HEX_INS_DUPLEX_IF__P0__RD____0___IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1746 		// if (p0) Rd = #0 ; if (! p0.new) dealloc_return:nt
1747 		op->type = R_ANAL_OP_TYPE_RET;
1748 		break;
1749 	}
1750 	case HEX_INS_DUPLEX_IF__P0__RD____0___IF__P0__DEALLOC_RETURN: {
1751 		// if (p0) Rd = #0 ; if (p0) dealloc_return
1752 		op->type = R_ANAL_OP_TYPE_RET;
1753 		break;
1754 	}
1755 	case HEX_INS_DUPLEX_IF__P0__RD____0___IF__P0_NEW__DEALLOC_RETURN_NT: {
1756 		// if (p0) Rd = #0 ; if (p0.new) dealloc_return:nt
1757 		op->type = R_ANAL_OP_TYPE_RET;
1758 		break;
1759 	}
1760 	case HEX_INS_DUPLEX_IF__P0_NEW__RD____0___DEALLOC_RETURN: {
1761 		// if (p0.new) Rd = #0 ; dealloc_return
1762 		op->type = R_ANAL_OP_TYPE_RET;
1763 		break;
1764 	}
1765 	case HEX_INS_DUPLEX_IF__P0_NEW__RD____0___IF___NOT__P0__DEALLOC_RETURN: {
1766 		// if (p0.new) Rd = #0 ; if (! p0) dealloc_return
1767 		op->type = R_ANAL_OP_TYPE_RET;
1768 		break;
1769 	}
1770 	case HEX_INS_DUPLEX_IF__P0_NEW__RD____0___IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1771 		// if (p0.new) Rd = #0 ; if (! p0.new) dealloc_return:nt
1772 		op->type = R_ANAL_OP_TYPE_RET;
1773 		break;
1774 	}
1775 	case HEX_INS_DUPLEX_IF__P0_NEW__RD____0___IF__P0__DEALLOC_RETURN: {
1776 		// if (p0.new) Rd = #0 ; if (p0) dealloc_return
1777 		op->type = R_ANAL_OP_TYPE_RET;
1778 		break;
1779 	}
1780 	case HEX_INS_DUPLEX_IF__P0_NEW__RD____0___IF__P0_NEW__DEALLOC_RETURN_NT: {
1781 		// if (p0.new) Rd = #0 ; if (p0.new) dealloc_return:nt
1782 		op->type = R_ANAL_OP_TYPE_RET;
1783 		break;
1784 	}
1785 	case HEX_INS_DUPLEX_P0___CMP_EQ__RS___U2____DEALLOC_RETURN: {
1786 		// p0 = cmp.eq (Rs, #u2) ; dealloc_return
1787 		op->type = R_ANAL_OP_TYPE_RET;
1788 		break;
1789 	}
1790 	case HEX_INS_DUPLEX_P0___CMP_EQ__RS___U2____IF___NOT__P0__DEALLOC_RETURN: {
1791 		// p0 = cmp.eq (Rs, #u2) ; if (! p0) dealloc_return
1792 		op->type = R_ANAL_OP_TYPE_RET;
1793 		break;
1794 	}
1795 	case HEX_INS_DUPLEX_P0___CMP_EQ__RS___U2____IF___NOT__P0_NEW__DEALLOC_RETURN_NT: {
1796 		// p0 = cmp.eq (Rs, #u2) ; if (! p0.new) dealloc_return:nt
1797 		op->type = R_ANAL_OP_TYPE_RET;
1798 		break;
1799 	}
1800 	case HEX_INS_DUPLEX_P0___CMP_EQ__RS___U2____IF__P0__DEALLOC_RETURN: {
1801 		// p0 = cmp.eq (Rs, #u2) ; if (p0) dealloc_return
1802 		op->type = R_ANAL_OP_TYPE_RET;
1803 		break;
1804 	}
1805 	case HEX_INS_DUPLEX_P0___CMP_EQ__RS___U2____IF__P0_NEW__DEALLOC_RETURN_NT: {
1806 		// p0 = cmp.eq (Rs, #u2) ; if (p0.new) dealloc_return:nt
1807 		op->type = R_ANAL_OP_TYPE_RET;
1808 		break;
1809 	}
1810 	}
1811 	return op->size;
1812 }
1813