Rizin
unix-like reverse engineering framework and cli tools
analysis_hexagon.c
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2021 Rot127 <unisono@quyllur.org>
2 // SPDX-License-Identifier: LGPL-3.0-only
3 
4 // LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7
5 // LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format)
6 // Date of code generation: 2022-04-17 16:44:52+02:00
7 //========================================
8 // The following code is generated.
9 // Do not edit. Repository of code generator:
10 // https://github.com/rizinorg/rz-hexagon
11 
12 #include <rz_types.h>
13 #include <rz_util.h>
14 #include <rz_asm.h>
15 #include <rz_analysis.h>
16 #include <rz_lib.h>
17 #include "hexagon.h"
18 #include "hexagon_insn.h"
19 #include "hexagon_arch.h"
20 
22  rz_return_val_if_fail(analysis && op && buf, -1);
23  if (len < 4) {
24  return -1;
25  }
26  if (analysis->pcalign == 0) {
27  analysis->pcalign = 0x4;
28  }
29 
30  HexReversedOpcode rev = { .action = HEXAGON_ANALYSIS, .ana_op = op, .asm_op = NULL };
31 
33 
34  return op->size;
35 }
36 
37 RZ_API char *get_reg_profile(RzAnalysis *analysis) {
38  const char *p =
39  "=PC pc\n"
40  "=SP R29\n"
41  "=BP R30\n"
42  "=LR R31\n"
43  "=SR C8\n"
44  "=SN R0\n"
45  "=A0 R0\n"
46  "=A1 R1\n"
47  "=A2 R2\n"
48  "=A3 R3\n"
49  "=A4 R4\n"
50  "=A5 R5\n"
51  "=R0 R0\n"
52  "=R1 R1\n"
53 
54  "ctr C0 .32 1024 0\n"
55  "ctr C1 .32 1056 0\n"
56  "ctr C2 .32 1088 0\n"
57  "ctr C3 .32 1120 0\n"
58  "ctr C4 .32 1152 0\n"
59  "ctr C5 .32 1184 0\n"
60  "ctr C6 .32 1216 0\n"
61  "ctr C7 .32 1248 0\n"
62  "ctr C8 .32 1280 0\n"
63  "ctr C9 .32 1312 0\n"
64  "ctr C10 .32 1344 0\n"
65  "ctr C11 .32 1376 0\n"
66  "ctr C12 .32 1408 0\n"
67  "ctr C13 .32 1440 0\n"
68  "ctr C14 .32 1472 0\n"
69  "ctr C15 .32 1504 0\n"
70  "ctr C16 .32 1536 0\n"
71  "ctr C17 .32 1568 0\n"
72  "ctr C18 .32 1600 0\n"
73  "ctr C19 .32 1632 0\n"
74  "ctr C30 .32 1664 0\n"
75  "ctr C31 .32 1696 0\n"
76 
77  "ctr C1:0 .64 1024 0\n"
78  "ctr C3:2 .64 1088 0\n"
79  "ctr C5:4 .64 1152 0\n"
80  "ctr C7:6 .64 1216 0\n"
81  "ctr C9:8 .64 1280 0\n"
82  "ctr C11:10 .64 1344 0\n"
83  "ctr C13:12 .64 1408 0\n"
84  "ctr C15:14 .64 1472 0\n"
85  "ctr C17:16 .64 1536 0\n"
86  "ctr C19:18 .64 1600 0\n"
87  "ctr C31:30 .64 1664 0\n"
88 
89  "gpr R1:0 .64 0 0\n"
90  "gpr R3:2 .64 64 0\n"
91  "gpr R5:4 .64 128 0\n"
92  "gpr R7:6 .64 192 0\n"
93  "gpr R9:8 .64 256 0\n"
94  "gpr R11:10 .64 320 0\n"
95  "gpr R13:12 .64 384 0\n"
96  "gpr R15:14 .64 448 0\n"
97  "gpr R17:16 .64 512 0\n"
98  "gpr R19:18 .64 576 0\n"
99  "gpr R21:20 .64 640 0\n"
100  "gpr R23:22 .64 704 0\n"
101  "gpr R25:24 .64 768 0\n"
102  "gpr R27:26 .64 832 0\n"
103  "gpr R29:28 .64 896 0\n"
104  "gpr R31:30 .64 960 0\n"
105 
106  "gpr G0 .32 1728 0\n"
107  "gpr G1 .32 1760 0\n"
108  "gpr G2 .32 1792 0\n"
109  "gpr G3 .32 1824 0\n"
110  "gpr G4 .32 1856 0\n"
111  "gpr G5 .32 1888 0\n"
112  "gpr G6 .32 1920 0\n"
113  "gpr G7 .32 1952 0\n"
114  "gpr G8 .32 1984 0\n"
115  "gpr G9 .32 2016 0\n"
116  "gpr G10 .32 2048 0\n"
117  "gpr G11 .32 2080 0\n"
118  "gpr G12 .32 2112 0\n"
119  "gpr G13 .32 2144 0\n"
120  "gpr G14 .32 2176 0\n"
121  "gpr G15 .32 2208 0\n"
122  "gpr G16 .32 2240 0\n"
123  "gpr G17 .32 2272 0\n"
124  "gpr G18 .32 2304 0\n"
125  "gpr G19 .32 2336 0\n"
126  "gpr G20 .32 2368 0\n"
127  "gpr G21 .32 2400 0\n"
128  "gpr G22 .32 2432 0\n"
129  "gpr G23 .32 2464 0\n"
130  "gpr G24 .32 2496 0\n"
131  "gpr G25 .32 2528 0\n"
132  "gpr G26 .32 2560 0\n"
133  "gpr G27 .32 2592 0\n"
134  "gpr G28 .32 2624 0\n"
135  "gpr G29 .32 2656 0\n"
136  "gpr G30 .32 2688 0\n"
137  "gpr G31 .32 2720 0\n"
138 
139  "gpr G1:0 .64 1728 0\n"
140  "gpr G3:2 .64 1792 0\n"
141  "gpr G5:4 .64 1856 0\n"
142  "gpr G7:6 .64 1920 0\n"
143  "gpr G9:8 .64 1984 0\n"
144  "gpr G11:10 .64 2048 0\n"
145  "gpr G13:12 .64 2112 0\n"
146  "gpr G15:14 .64 2176 0\n"
147  "gpr G17:16 .64 2240 0\n"
148  "gpr G19:18 .64 2304 0\n"
149  "gpr G21:20 .64 2368 0\n"
150  "gpr G23:22 .64 2432 0\n"
151  "gpr G25:24 .64 2496 0\n"
152  "gpr G27:26 .64 2560 0\n"
153  "gpr G29:28 .64 2624 0\n"
154  "gpr G31:30 .64 2688 0\n"
155 
156  "vcc Q0 .128 2752 0\n"
157  "vcc Q1 .128 2880 0\n"
158  "vcc Q2 .128 3008 0\n"
159  "vcc Q3 .128 3136 0\n"
160 
161  "vc V3:0 .4096 3264 0\n"
162  "vc V7:4 .4096 7360 0\n"
163  "vc V11:8 .4096 11456 0\n"
164  "vc V15:12 .4096 15552 0\n"
165  "vc V19:16 .4096 19648 0\n"
166  "vc V23:20 .4096 23744 0\n"
167  "vc V27:24 .4096 27840 0\n"
168  "vc V31:28 .4096 31936 0\n"
169 
170  "vc V0 .1024 3264 0\n"
171  "vc V1 .1024 4288 0\n"
172  "vc V2 .1024 5312 0\n"
173  "vc V3 .1024 6336 0\n"
174  "vc V4 .1024 7360 0\n"
175  "vc V5 .1024 8384 0\n"
176  "vc V6 .1024 9408 0\n"
177  "vc V7 .1024 10432 0\n"
178  "vc V8 .1024 11456 0\n"
179  "vc V9 .1024 12480 0\n"
180  "vc V10 .1024 13504 0\n"
181  "vc V11 .1024 14528 0\n"
182  "vc V12 .1024 15552 0\n"
183  "vc V13 .1024 16576 0\n"
184  "vc V14 .1024 17600 0\n"
185  "vc V15 .1024 18624 0\n"
186  "vc V16 .1024 19648 0\n"
187  "vc V17 .1024 20672 0\n"
188  "vc V18 .1024 21696 0\n"
189  "vc V19 .1024 22720 0\n"
190  "vc V20 .1024 23744 0\n"
191  "vc V21 .1024 24768 0\n"
192  "vc V22 .1024 25792 0\n"
193  "vc V23 .1024 26816 0\n"
194  "vc V24 .1024 27840 0\n"
195  "vc V25 .1024 28864 0\n"
196  "vc V26 .1024 29888 0\n"
197  "vc V27 .1024 30912 0\n"
198  "vc V28 .1024 31936 0\n"
199  "vc V29 .1024 32960 0\n"
200  "vc V30 .1024 33984 0\n"
201  "vc V31 .1024 35008 0\n"
202 
203  "vc V1:0 .2048 3264 0\n"
204  "vc V3:2 .2048 5312 0\n"
205  "vc V5:4 .2048 7360 0\n"
206  "vc V7:6 .2048 9408 0\n"
207  "vc V9:8 .2048 11456 0\n"
208  "vc V11:10 .2048 13504 0\n"
209  "vc V13:12 .2048 15552 0\n"
210  "vc V15:14 .2048 17600 0\n"
211  "vc V17:16 .2048 19648 0\n"
212  "vc V19:18 .2048 21696 0\n"
213  "vc V21:20 .2048 23744 0\n"
214  "vc V23:22 .2048 25792 0\n"
215  "vc V25:24 .2048 27840 0\n"
216  "vc V27:26 .2048 29888 0\n"
217  "vc V29:28 .2048 31936 0\n"
218  "vc V31:30 .2048 33984 0\n"
219 
220  "gpr R0 .32 0 0\n"
221  "gpr R1 .32 32 0\n"
222  "gpr R2 .32 64 0\n"
223  "gpr R3 .32 96 0\n"
224  "gpr R4 .32 128 0\n"
225  "gpr R5 .32 160 0\n"
226  "gpr R6 .32 192 0\n"
227  "gpr R7 .32 224 0\n"
228  "gpr R8 .32 256 0\n"
229  "gpr R9 .32 288 0\n"
230  "gpr R10 .32 320 0\n"
231  "gpr R11 .32 352 0\n"
232  "gpr R12 .32 384 0\n"
233  "gpr R13 .32 416 0\n"
234  "gpr R14 .32 448 0\n"
235  "gpr R15 .32 480 0\n"
236  "gpr R16 .32 512 0\n"
237  "gpr R17 .32 544 0\n"
238  "gpr R18 .32 576 0\n"
239  "gpr R19 .32 608 0\n"
240  "gpr R20 .32 640 0\n"
241  "gpr R21 .32 672 0\n"
242  "gpr R22 .32 704 0\n"
243  "gpr R23 .32 736 0\n"
244  "gpr R24 .32 768 0\n"
245  "gpr R25 .32 800 0\n"
246  "gpr R26 .32 832 0\n"
247  "gpr R27 .32 864 0\n"
248  "gpr R28 .32 896 0\n"
249  "gpr R29 .32 928 0\n"
250  "gpr R30 .32 960 0\n"
251  "gpr R31 .32 992 0\n"
252 
253  "ctr P0 .8 1152 0\n"
254  "ctr P1 .8 1160 0\n"
255  "ctr P2 .8 1168 0\n"
256  "ctr P3 .8 1176 0\n"
257 
258  "sys S0 .32 36032 0\n"
259  "sys S1 .32 36064 0\n"
260  "sys S2 .32 36096 0\n"
261  "sys S3 .32 36128 0\n"
262  "sys S4 .32 36160 0\n"
263  "sys S5 .32 36192 0\n"
264  "sys S6 .32 36224 0\n"
265  "sys S7 .32 36256 0\n"
266  "sys S8 .32 36288 0\n"
267  "sys S9 .32 36320 0\n"
268  "sys S10 .32 36352 0\n"
269  "sys S11 .32 36384 0\n"
270  "sys S12 .32 36416 0\n"
271  "sys S13 .32 36448 0\n"
272  "sys S14 .32 36480 0\n"
273  "sys S15 .32 36512 0\n"
274  "sys S16 .32 36544 0\n"
275  "sys S17 .32 36576 0\n"
276  "sys S18 .32 36608 0\n"
277  "sys S19 .32 36640 0\n"
278  "sys S20 .32 36672 0\n"
279  "sys S21 .32 36704 0\n"
280  "sys S22 .32 36736 0\n"
281  "sys S23 .32 36768 0\n"
282  "sys S24 .32 36800 0\n"
283  "sys S25 .32 36832 0\n"
284  "sys S26 .32 36864 0\n"
285  "sys S27 .32 36896 0\n"
286  "sys S28 .32 36928 0\n"
287  "sys S29 .32 36960 0\n"
288  "sys S30 .32 36992 0\n"
289  "sys S31 .32 37024 0\n"
290  "sys S32 .32 37056 0\n"
291  "sys S33 .32 37088 0\n"
292  "sys S34 .32 37120 0\n"
293  "sys S35 .32 37152 0\n"
294  "sys S36 .32 37184 0\n"
295  "sys S37 .32 37216 0\n"
296  "sys S38 .32 37248 0\n"
297  "sys S39 .32 37280 0\n"
298  "sys S40 .32 37312 0\n"
299  "sys S41 .32 37344 0\n"
300  "sys S42 .32 37376 0\n"
301  "sys S43 .32 37408 0\n"
302  "sys S44 .32 37440 0\n"
303  "sys S45 .32 37472 0\n"
304  "sys S46 .32 37504 0\n"
305  "sys S47 .32 37536 0\n"
306  "sys S48 .32 37568 0\n"
307  "sys S49 .32 37600 0\n"
308  "sys S50 .32 37632 0\n"
309  "sys S51 .32 37664 0\n"
310  "sys S52 .32 37696 0\n"
311  "sys S53 .32 37728 0\n"
312  "sys S54 .32 37760 0\n"
313  "sys S55 .32 37792 0\n"
314  "sys S56 .32 37824 0\n"
315  "sys S57 .32 37856 0\n"
316  "sys S58 .32 37888 0\n"
317  "sys S59 .32 37920 0\n"
318  "sys S60 .32 37952 0\n"
319  "sys S61 .32 37984 0\n"
320  "sys S62 .32 38016 0\n"
321  "sys S63 .32 38048 0\n"
322  "sys S64 .32 38080 0\n"
323  "sys S65 .32 38112 0\n"
324  "sys S66 .32 38144 0\n"
325  "sys S67 .32 38176 0\n"
326  "sys S68 .32 38208 0\n"
327  "sys S69 .32 38240 0\n"
328  "sys S70 .32 38272 0\n"
329  "sys S71 .32 38304 0\n"
330  "sys S72 .32 38336 0\n"
331  "sys S73 .32 38368 0\n"
332  "sys S74 .32 38400 0\n"
333  "sys S75 .32 38432 0\n"
334  "sys S76 .32 38464 0\n"
335  "sys S77 .32 38496 0\n"
336  "sys S78 .32 38528 0\n"
337  "sys S79 .32 38560 0\n"
338  "sys S80 .32 38592 0\n"
339 
340  "sys S1:0 .64 36032 0\n"
341  "sys S3:2 .64 36096 0\n"
342  "sys S5:4 .64 36160 0\n"
343  "sys S7:6 .64 36224 0\n"
344  "sys S9:8 .64 36288 0\n"
345  "sys S11:10 .64 36352 0\n"
346  "sys S13:12 .64 36416 0\n"
347  "sys S15:14 .64 36480 0\n"
348  "sys S17:16 .64 36544 0\n"
349  "sys S19:18 .64 36608 0\n"
350  "sys S21:20 .64 36672 0\n"
351  "sys S23:22 .64 36736 0\n"
352  "sys S25:24 .64 36800 0\n"
353  "sys S27:26 .64 36864 0\n"
354  "sys S29:28 .64 36928 0\n"
355  "sys S31:30 .64 36992 0\n"
356  "sys S33:32 .64 37056 0\n"
357  "sys S35:34 .64 37120 0\n"
358  "sys S37:36 .64 37184 0\n"
359  "sys S39:38 .64 37248 0\n"
360  "sys S41:40 .64 37312 0\n"
361  "sys S43:42 .64 37376 0\n"
362  "sys S45:44 .64 37440 0\n"
363  "sys S47:46 .64 37504 0\n"
364  "sys S49:48 .64 37568 0\n"
365  "sys S51:50 .64 37632 0\n"
366  "sys S53:52 .64 37696 0\n"
367  "sys S55:54 .64 37760 0\n"
368  "sys S57:56 .64 37824 0\n"
369  "sys S59:58 .64 37888 0\n"
370  "sys S61:60 .64 37952 0\n"
371  "sys S63:62 .64 38016 0\n"
372  "sys S65:64 .64 38080 0\n"
373  "sys S67:66 .64 38144 0\n"
374  "sys S69:68 .64 38208 0\n"
375  "sys S71:70 .64 38272 0\n"
376  "sys S73:72 .64 38336 0\n"
377  "sys S75:74 .64 38400 0\n"
378  "sys S77:76 .64 38464 0\n"
379  "sys S79:78 .64 38528 0\n"
380 
381  "ctr C0_tmp .32 39648 0\n"
382  "ctr C1_tmp .32 39680 0\n"
383  "ctr C2_tmp .32 39712 0\n"
384  "ctr C3_tmp .32 39744 0\n"
385  "ctr C4_tmp .32 39776 0\n"
386  "ctr C5_tmp .32 39808 0\n"
387  "ctr C6_tmp .32 39840 0\n"
388  "ctr C7_tmp .32 39872 0\n"
389  "ctr C8_tmp .32 39904 0\n"
390  "ctr C9_tmp .32 39936 0\n"
391  "ctr C10_tmp .32 39968 0\n"
392  "ctr C11_tmp .32 40000 0\n"
393  "ctr C12_tmp .32 40032 0\n"
394  "ctr C13_tmp .32 40064 0\n"
395  "ctr C14_tmp .32 40096 0\n"
396  "ctr C15_tmp .32 40128 0\n"
397  "ctr C16_tmp .32 40160 0\n"
398  "ctr C17_tmp .32 40192 0\n"
399  "ctr C18_tmp .32 40224 0\n"
400  "ctr C19_tmp .32 40256 0\n"
401  "ctr C30_tmp .32 40288 0\n"
402  "ctr C31_tmp .32 40320 0\n"
403  "ctr C1:0_tmp .64 39648 0\n"
404  "ctr C3:2_tmp .64 39712 0\n"
405  "ctr C5:4_tmp .64 39776 0\n"
406  "ctr C7:6_tmp .64 39840 0\n"
407  "ctr C9:8_tmp .64 39904 0\n"
408  "ctr C11:10_tmp .64 39968 0\n"
409  "ctr C13:12_tmp .64 40032 0\n"
410  "ctr C15:14_tmp .64 40096 0\n"
411  "ctr C17:16_tmp .64 40160 0\n"
412  "ctr C19:18_tmp .64 40224 0\n"
413  "ctr C31:30_tmp .64 40288 0\n"
414  "gpr R1:0_tmp .64 38624 0\n"
415  "gpr R3:2_tmp .64 38688 0\n"
416  "gpr R5:4_tmp .64 38752 0\n"
417  "gpr R7:6_tmp .64 38816 0\n"
418  "gpr R9:8_tmp .64 38880 0\n"
419  "gpr R11:10_tmp .64 38944 0\n"
420  "gpr R13:12_tmp .64 39008 0\n"
421  "gpr R15:14_tmp .64 39072 0\n"
422  "gpr R17:16_tmp .64 39136 0\n"
423  "gpr R19:18_tmp .64 39200 0\n"
424  "gpr R21:20_tmp .64 39264 0\n"
425  "gpr R23:22_tmp .64 39328 0\n"
426  "gpr R25:24_tmp .64 39392 0\n"
427  "gpr R27:26_tmp .64 39456 0\n"
428  "gpr R29:28_tmp .64 39520 0\n"
429  "gpr R31:30_tmp .64 39584 0\n"
430  "gpr G0_tmp .32 40352 0\n"
431  "gpr G1_tmp .32 40384 0\n"
432  "gpr G2_tmp .32 40416 0\n"
433  "gpr G3_tmp .32 40448 0\n"
434  "gpr G4_tmp .32 40480 0\n"
435  "gpr G5_tmp .32 40512 0\n"
436  "gpr G6_tmp .32 40544 0\n"
437  "gpr G7_tmp .32 40576 0\n"
438  "gpr G8_tmp .32 40608 0\n"
439  "gpr G9_tmp .32 40640 0\n"
440  "gpr G10_tmp .32 40672 0\n"
441  "gpr G11_tmp .32 40704 0\n"
442  "gpr G12_tmp .32 40736 0\n"
443  "gpr G13_tmp .32 40768 0\n"
444  "gpr G14_tmp .32 40800 0\n"
445  "gpr G15_tmp .32 40832 0\n"
446  "gpr G16_tmp .32 40864 0\n"
447  "gpr G17_tmp .32 40896 0\n"
448  "gpr G18_tmp .32 40928 0\n"
449  "gpr G19_tmp .32 40960 0\n"
450  "gpr G20_tmp .32 40992 0\n"
451  "gpr G21_tmp .32 41024 0\n"
452  "gpr G22_tmp .32 41056 0\n"
453  "gpr G23_tmp .32 41088 0\n"
454  "gpr G24_tmp .32 41120 0\n"
455  "gpr G25_tmp .32 41152 0\n"
456  "gpr G26_tmp .32 41184 0\n"
457  "gpr G27_tmp .32 41216 0\n"
458  "gpr G28_tmp .32 41248 0\n"
459  "gpr G29_tmp .32 41280 0\n"
460  "gpr G30_tmp .32 41312 0\n"
461  "gpr G31_tmp .32 41344 0\n"
462  "gpr G1:0_tmp .64 40352 0\n"
463  "gpr G3:2_tmp .64 40416 0\n"
464  "gpr G5:4_tmp .64 40480 0\n"
465  "gpr G7:6_tmp .64 40544 0\n"
466  "gpr G9:8_tmp .64 40608 0\n"
467  "gpr G11:10_tmp .64 40672 0\n"
468  "gpr G13:12_tmp .64 40736 0\n"
469  "gpr G15:14_tmp .64 40800 0\n"
470  "gpr G17:16_tmp .64 40864 0\n"
471  "gpr G19:18_tmp .64 40928 0\n"
472  "gpr G21:20_tmp .64 40992 0\n"
473  "gpr G23:22_tmp .64 41056 0\n"
474  "gpr G25:24_tmp .64 41120 0\n"
475  "gpr G27:26_tmp .64 41184 0\n"
476  "gpr G29:28_tmp .64 41248 0\n"
477  "gpr G31:30_tmp .64 41312 0\n"
478  "vcc Q0_tmp .128 41376 0\n"
479  "vcc Q1_tmp .128 41504 0\n"
480  "vcc Q2_tmp .128 41632 0\n"
481  "vcc Q3_tmp .128 41760 0\n"
482  "vc V3:0_tmp .4096 41888 0\n"
483  "vc V7:4_tmp .4096 45984 0\n"
484  "vc V11:8_tmp .4096 50080 0\n"
485  "vc V15:12_tmp .4096 54176 0\n"
486  "vc V19:16_tmp .4096 58272 0\n"
487  "vc V23:20_tmp .4096 62368 0\n"
488  "vc V27:24_tmp .4096 66464 0\n"
489  "vc V31:28_tmp .4096 70560 0\n"
490  "vc V0_tmp .1024 41888 0\n"
491  "vc V1_tmp .1024 42912 0\n"
492  "vc V2_tmp .1024 43936 0\n"
493  "vc V3_tmp .1024 44960 0\n"
494  "vc V4_tmp .1024 45984 0\n"
495  "vc V5_tmp .1024 47008 0\n"
496  "vc V6_tmp .1024 48032 0\n"
497  "vc V7_tmp .1024 49056 0\n"
498  "vc V8_tmp .1024 50080 0\n"
499  "vc V9_tmp .1024 51104 0\n"
500  "vc V10_tmp .1024 52128 0\n"
501  "vc V11_tmp .1024 53152 0\n"
502  "vc V12_tmp .1024 54176 0\n"
503  "vc V13_tmp .1024 55200 0\n"
504  "vc V14_tmp .1024 56224 0\n"
505  "vc V15_tmp .1024 57248 0\n"
506  "vc V16_tmp .1024 58272 0\n"
507  "vc V17_tmp .1024 59296 0\n"
508  "vc V18_tmp .1024 60320 0\n"
509  "vc V19_tmp .1024 61344 0\n"
510  "vc V20_tmp .1024 62368 0\n"
511  "vc V21_tmp .1024 63392 0\n"
512  "vc V22_tmp .1024 64416 0\n"
513  "vc V23_tmp .1024 65440 0\n"
514  "vc V24_tmp .1024 66464 0\n"
515  "vc V25_tmp .1024 67488 0\n"
516  "vc V26_tmp .1024 68512 0\n"
517  "vc V27_tmp .1024 69536 0\n"
518  "vc V28_tmp .1024 70560 0\n"
519  "vc V29_tmp .1024 71584 0\n"
520  "vc V30_tmp .1024 72608 0\n"
521  "vc V31_tmp .1024 73632 0\n"
522  "vc V1:0_tmp .2048 41888 0\n"
523  "vc V3:2_tmp .2048 43936 0\n"
524  "vc V5:4_tmp .2048 45984 0\n"
525  "vc V7:6_tmp .2048 48032 0\n"
526  "vc V9:8_tmp .2048 50080 0\n"
527  "vc V11:10_tmp .2048 52128 0\n"
528  "vc V13:12_tmp .2048 54176 0\n"
529  "vc V15:14_tmp .2048 56224 0\n"
530  "vc V17:16_tmp .2048 58272 0\n"
531  "vc V19:18_tmp .2048 60320 0\n"
532  "vc V21:20_tmp .2048 62368 0\n"
533  "vc V23:22_tmp .2048 64416 0\n"
534  "vc V25:24_tmp .2048 66464 0\n"
535  "vc V27:26_tmp .2048 68512 0\n"
536  "vc V29:28_tmp .2048 70560 0\n"
537  "vc V31:30_tmp .2048 72608 0\n"
538  "gpr R0_tmp .32 38624 0\n"
539  "gpr R1_tmp .32 38656 0\n"
540  "gpr R2_tmp .32 38688 0\n"
541  "gpr R3_tmp .32 38720 0\n"
542  "gpr R4_tmp .32 38752 0\n"
543  "gpr R5_tmp .32 38784 0\n"
544  "gpr R6_tmp .32 38816 0\n"
545  "gpr R7_tmp .32 38848 0\n"
546  "gpr R8_tmp .32 38880 0\n"
547  "gpr R9_tmp .32 38912 0\n"
548  "gpr R10_tmp .32 38944 0\n"
549  "gpr R11_tmp .32 38976 0\n"
550  "gpr R12_tmp .32 39008 0\n"
551  "gpr R13_tmp .32 39040 0\n"
552  "gpr R14_tmp .32 39072 0\n"
553  "gpr R15_tmp .32 39104 0\n"
554  "gpr R16_tmp .32 39136 0\n"
555  "gpr R17_tmp .32 39168 0\n"
556  "gpr R18_tmp .32 39200 0\n"
557  "gpr R19_tmp .32 39232 0\n"
558  "gpr R20_tmp .32 39264 0\n"
559  "gpr R21_tmp .32 39296 0\n"
560  "gpr R22_tmp .32 39328 0\n"
561  "gpr R23_tmp .32 39360 0\n"
562  "gpr R24_tmp .32 39392 0\n"
563  "gpr R25_tmp .32 39424 0\n"
564  "gpr R26_tmp .32 39456 0\n"
565  "gpr R27_tmp .32 39488 0\n"
566  "gpr R28_tmp .32 39520 0\n"
567  "gpr R29_tmp .32 39552 0\n"
568  "gpr R30_tmp .32 39584 0\n"
569  "gpr R31_tmp .32 39616 0\n"
570  "ctr P0_tmp .8 39776 0\n"
571  "ctr P1_tmp .8 39784 0\n"
572  "ctr P2_tmp .8 39792 0\n"
573  "ctr P3_tmp .8 39800 0\n"
574  "sys S0_tmp .32 74656 0\n"
575  "sys S1_tmp .32 74688 0\n"
576  "sys S2_tmp .32 74720 0\n"
577  "sys S3_tmp .32 74752 0\n"
578  "sys S4_tmp .32 74784 0\n"
579  "sys S5_tmp .32 74816 0\n"
580  "sys S6_tmp .32 74848 0\n"
581  "sys S7_tmp .32 74880 0\n"
582  "sys S8_tmp .32 74912 0\n"
583  "sys S9_tmp .32 74944 0\n"
584  "sys S10_tmp .32 74976 0\n"
585  "sys S11_tmp .32 75008 0\n"
586  "sys S12_tmp .32 75040 0\n"
587  "sys S13_tmp .32 75072 0\n"
588  "sys S14_tmp .32 75104 0\n"
589  "sys S15_tmp .32 75136 0\n"
590  "sys S16_tmp .32 75168 0\n"
591  "sys S17_tmp .32 75200 0\n"
592  "sys S18_tmp .32 75232 0\n"
593  "sys S19_tmp .32 75264 0\n"
594  "sys S20_tmp .32 75296 0\n"
595  "sys S21_tmp .32 75328 0\n"
596  "sys S22_tmp .32 75360 0\n"
597  "sys S23_tmp .32 75392 0\n"
598  "sys S24_tmp .32 75424 0\n"
599  "sys S25_tmp .32 75456 0\n"
600  "sys S26_tmp .32 75488 0\n"
601  "sys S27_tmp .32 75520 0\n"
602  "sys S28_tmp .32 75552 0\n"
603  "sys S29_tmp .32 75584 0\n"
604  "sys S30_tmp .32 75616 0\n"
605  "sys S31_tmp .32 75648 0\n"
606  "sys S32_tmp .32 75680 0\n"
607  "sys S33_tmp .32 75712 0\n"
608  "sys S34_tmp .32 75744 0\n"
609  "sys S35_tmp .32 75776 0\n"
610  "sys S36_tmp .32 75808 0\n"
611  "sys S37_tmp .32 75840 0\n"
612  "sys S38_tmp .32 75872 0\n"
613  "sys S39_tmp .32 75904 0\n"
614  "sys S40_tmp .32 75936 0\n"
615  "sys S41_tmp .32 75968 0\n"
616  "sys S42_tmp .32 76000 0\n"
617  "sys S43_tmp .32 76032 0\n"
618  "sys S44_tmp .32 76064 0\n"
619  "sys S45_tmp .32 76096 0\n"
620  "sys S46_tmp .32 76128 0\n"
621  "sys S47_tmp .32 76160 0\n"
622  "sys S48_tmp .32 76192 0\n"
623  "sys S49_tmp .32 76224 0\n"
624  "sys S50_tmp .32 76256 0\n"
625  "sys S51_tmp .32 76288 0\n"
626  "sys S52_tmp .32 76320 0\n"
627  "sys S53_tmp .32 76352 0\n"
628  "sys S54_tmp .32 76384 0\n"
629  "sys S55_tmp .32 76416 0\n"
630  "sys S56_tmp .32 76448 0\n"
631  "sys S57_tmp .32 76480 0\n"
632  "sys S58_tmp .32 76512 0\n"
633  "sys S59_tmp .32 76544 0\n"
634  "sys S60_tmp .32 76576 0\n"
635  "sys S61_tmp .32 76608 0\n"
636  "sys S62_tmp .32 76640 0\n"
637  "sys S63_tmp .32 76672 0\n"
638  "sys S64_tmp .32 76704 0\n"
639  "sys S65_tmp .32 76736 0\n"
640  "sys S66_tmp .32 76768 0\n"
641  "sys S67_tmp .32 76800 0\n"
642  "sys S68_tmp .32 76832 0\n"
643  "sys S69_tmp .32 76864 0\n"
644  "sys S70_tmp .32 76896 0\n"
645  "sys S71_tmp .32 76928 0\n"
646  "sys S72_tmp .32 76960 0\n"
647  "sys S73_tmp .32 76992 0\n"
648  "sys S74_tmp .32 77024 0\n"
649  "sys S75_tmp .32 77056 0\n"
650  "sys S76_tmp .32 77088 0\n"
651  "sys S77_tmp .32 77120 0\n"
652  "sys S78_tmp .32 77152 0\n"
653  "sys S79_tmp .32 77184 0\n"
654  "sys S80_tmp .32 77216 0\n"
655  "sys S1:0_tmp .64 74656 0\n"
656  "sys S3:2_tmp .64 74720 0\n"
657  "sys S5:4_tmp .64 74784 0\n"
658  "sys S7:6_tmp .64 74848 0\n"
659  "sys S9:8_tmp .64 74912 0\n"
660  "sys S11:10_tmp .64 74976 0\n"
661  "sys S13:12_tmp .64 75040 0\n"
662  "sys S15:14_tmp .64 75104 0\n"
663  "sys S17:16_tmp .64 75168 0\n"
664  "sys S19:18_tmp .64 75232 0\n"
665  "sys S21:20_tmp .64 75296 0\n"
666  "sys S23:22_tmp .64 75360 0\n"
667  "sys S25:24_tmp .64 75424 0\n"
668  "sys S27:26_tmp .64 75488 0\n"
669  "sys S29:28_tmp .64 75552 0\n"
670  "sys S31:30_tmp .64 75616 0\n"
671  "sys S33:32_tmp .64 75680 0\n"
672  "sys S35:34_tmp .64 75744 0\n"
673  "sys S37:36_tmp .64 75808 0\n"
674  "sys S39:38_tmp .64 75872 0\n"
675  "sys S41:40_tmp .64 75936 0\n"
676  "sys S43:42_tmp .64 76000 0\n"
677  "sys S45:44_tmp .64 76064 0\n"
678  "sys S47:46_tmp .64 76128 0\n"
679  "sys S49:48_tmp .64 76192 0\n"
680  "sys S51:50_tmp .64 76256 0\n"
681  "sys S53:52_tmp .64 76320 0\n"
682  "sys S55:54_tmp .64 76384 0\n"
683  "sys S57:56_tmp .64 76448 0\n"
684  "sys S59:58_tmp .64 76512 0\n"
685  "sys S61:60_tmp .64 76576 0\n"
686  "sys S63:62_tmp .64 76640 0\n"
687  "sys S65:64_tmp .64 76704 0\n"
688  "sys S67:66_tmp .64 76768 0\n"
689  "sys S69:68_tmp .64 76832 0\n"
690  "sys S71:70_tmp .64 76896 0\n"
691  "sys S73:72_tmp .64 76960 0\n"
692  "sys S75:74_tmp .64 77024 0\n"
693  "sys S77:76_tmp .64 77088 0\n";
694  return strdup(p);
695 }
697  .name = "hexagon",
698  .desc = "Qualcomm Hexagon (QDSP6) V6",
699  .license = "LGPL3",
700  .arch = "hexagon",
701  .bits = 32,
702  .op = hexagon_v6_op,
703  .esil = false,
704  .get_reg_profile = get_reg_profile,
705 };
706 
707 #ifndef RZ_PLUGIN_INCORE
710  .data = &rz_analysis_plugin_hexagon_v6,
711  .version = RZ_VERSION
712 };
713 #endif
size_t len
Definition: 6502dis.c:15
ut8 op
Definition: 6502dis.c:13
#define mask()
RZ_API char * get_reg_profile(RzAnalysis *analysis)
RZ_API int hexagon_v6_op(RzAnalysis *analysis, RzAnalysisOp *op, ut64 addr, const ut8 *buf, int len, RzAnalysisOpMask mask)
RZ_API RzLibStruct rizin_plugin
RzAnalysisPlugin rz_analysis_plugin_hexagon
static RzILOpEffect * rev(cs_insn *insn, bool is_thumb)
Definition: arm_il32.c:1590
#define RZ_API
#define NULL
Definition: cris-opc.c:27
RZ_API void hexagon_reverse_opcode(const RzAsm *rz_asm, HexReversedOpcode *rz_reverse, const ut8 *buf, const ut64 addr)
Reverses a given opcode and copies the result into one of the rizin structs in rz_reverse.
Definition: hexagon_arch.c:772
@ HEXAGON_ANALYSIS
Definition: hexagon_arch.h:29
voidpf void * buf
Definition: ioapi.h:138
uint8_t ut8
Definition: lh5801.h:11
void * p
Definition: libc.cpp:67
return strdup("=SP r13\n" "=LR r14\n" "=PC r15\n" "=A0 r0\n" "=A1 r1\n" "=A2 r2\n" "=A3 r3\n" "=ZF zf\n" "=SF nf\n" "=OF vf\n" "=CF cf\n" "=SN or0\n" "gpr lr .32 56 0\n" "gpr pc .32 60 0\n" "gpr cpsr .32 64 0 ____tfiae_________________qvczn\n" "gpr or0 .32 68 0\n" "gpr tf .1 64.5 0 thumb\n" "gpr ef .1 64.9 0 endian\n" "gpr jf .1 64.24 0 java\n" "gpr qf .1 64.27 0 sticky_overflow\n" "gpr vf .1 64.28 0 overflow\n" "gpr cf .1 64.29 0 carry\n" "gpr zf .1 64.30 0 zero\n" "gpr nf .1 64.31 0 negative\n" "gpr itc .4 64.10 0 if_then_count\n" "gpr gef .4 64.16 0 great_or_equal\n" "gpr r0 .32 0 0\n" "gpr r1 .32 4 0\n" "gpr r2 .32 8 0\n" "gpr r3 .32 12 0\n" "gpr r4 .32 16 0\n" "gpr r5 .32 20 0\n" "gpr r6 .32 24 0\n" "gpr r7 .32 28 0\n" "gpr r8 .32 32 0\n" "gpr r9 .32 36 0\n" "gpr r10 .32 40 0\n" "gpr r11 .32 44 0\n" "gpr r12 .32 48 0\n" "gpr r13 .32 52 0\n" "gpr r14 .32 56 0\n" "gpr r15 .32 60 0\n" "gpr r16 .32 64 0\n" "gpr r17 .32 68 0\n")
RzAnalysisOpMask
Definition: rz_analysis.h:439
#define rz_return_val_if_fail(expr, val)
Definition: rz_assert.h:108
@ RZ_LIB_TYPE_ANALYSIS
Definition: rz_lib.h:73
#define RZ_VERSION
Definition: rz_version.h:8
Pointer to the rizin structs for disassembled and analysed instructions.
Definition: hexagon_arch.h:37
Definition: dis.c:32
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
static int addr
Definition: z80asm.c:58