1 // $ make arm64_gen_vreg
2 // $ ./arm64_gen_vreg > AArch64GenRegisterV.inc
3 
4 #include <stdio.h>
5 #include <stdint.h>
6 #include <string.h>
7 #include <ctype.h>
8 
9 #undef CAPSTONE_DIET
10 #define GET_REGINFO_ENUM
11 
12 #include "AArch64GenRegisterInfo.inc"
13 #include "AArch64GenRegisterName.inc"
14 
main()15 int main()
16 {
17 	unsigned int i;
18 	size_t size = (size_t)getRegisterName(i, 100);
19 
20 	printf("// size = %zu\n", size);
21 
22 	for(i = 1; i < size; i++) {
23 		unsigned int j;
24 		const char *name = getRegisterName(i, AArch64_vreg);
25 		//printf("%u: ARM64_REG_%s, ", i, getRegisterName(i, AArch64_vreg));
26 		if (strlen(name) == 0) {
27 			printf("0,\n");
28 		} else {
29 			printf("ARM64_REG_");
30 			for(j = 0; j < strlen(name); j++) {
31 				printf("%c", toupper(name[j]));
32 			}
33 			printf(",\n");
34 		}
35 	}
36 
37 	return 0;
38 }
39