Coverage Report

Created: 2025-07-01 07:03

/src/capstonenext/arch/Sparc/SparcGenSystemOperands.inc
Line
Count
Source (jump to first uncovered line)
1
/* Capstone Disassembly Engine, https://www.capstone-engine.org */
2
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2022, */
3
/*    Rot127 <unisono@quyllur.org> 2022-2024 */
4
/* Automatically generated file by Capstone's LLVM TableGen Disassembler Backend. */
5
6
/* LLVM-commit: <commit> */
7
/* LLVM-tag: <tag> */
8
9
/* Do not edit. */
10
11
/* Capstone's LLVM TableGen Backends: */
12
/* https://github.com/capstone-engine/llvm-capstone */
13
14
#ifdef GET_ASITAG_DECL
15
#endif
16
17
#ifdef GET_ASITAG_DECL
18
const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByName(const char * Name);
19
const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByAltName(const char * AltName);
20
const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByEncoding(uint8_t Encoding);
21
#endif
22
23
#ifdef GET_ASITAG_IMPL
24
static const Sparc_ASITag_ASITag ASITagsList[] = {
25
  { "ASI_AIUP", { .raw_val = SPARC_ASITAG_ASI_AIUP }, "ASI_AS_IF_USER_PRIMARY", { .raw_val = SPARC_ASITAG_ASI_AS_IF_USER_PRIMARY }, 0x10 }, // 0
26
  { "ASI_AIUP_L", { .raw_val = SPARC_ASITAG_ASI_AIUP_L }, "ASI_AS_IF_USER_PRIMARY_LITTLE", { .raw_val = SPARC_ASITAG_ASI_AS_IF_USER_PRIMARY_LITTLE }, 0x18 }, // 1
27
  { "ASI_AIUS", { .raw_val = SPARC_ASITAG_ASI_AIUS }, "ASI_AS_IF_USER_SECONDARY", { .raw_val = SPARC_ASITAG_ASI_AS_IF_USER_SECONDARY }, 0x11 }, // 2
28
  { "ASI_AIUS_L", { .raw_val = SPARC_ASITAG_ASI_AIUS_L }, "ASI_AS_IF_USER_SECONDARY_LITTLE", { .raw_val = SPARC_ASITAG_ASI_AS_IF_USER_SECONDARY_LITTLE }, 0x19 }, // 3
29
  { "ASI_N", { .raw_val = SPARC_ASITAG_ASI_N }, "ASI_NUCLEUS", { .raw_val = SPARC_ASITAG_ASI_NUCLEUS }, 0x4 }, // 4
30
  { "ASI_N_L", { .raw_val = SPARC_ASITAG_ASI_N_L }, "ASI_NUCLEUS_LITTLE", { .raw_val = SPARC_ASITAG_ASI_NUCLEUS_LITTLE }, 0xC }, // 5
31
  { "ASI_P", { .raw_val = SPARC_ASITAG_ASI_P }, "ASI_PRIMARY", { .raw_val = SPARC_ASITAG_ASI_PRIMARY }, 0x80 }, // 6
32
  { "ASI_PNF", { .raw_val = SPARC_ASITAG_ASI_PNF }, "ASI_PRIMARY_NOFAULT", { .raw_val = SPARC_ASITAG_ASI_PRIMARY_NOFAULT }, 0x82 }, // 7
33
  { "ASI_PNF_L", { .raw_val = SPARC_ASITAG_ASI_PNF_L }, "ASI_PRIMARY_NOFAULT_LITTLE", { .raw_val = SPARC_ASITAG_ASI_PRIMARY_NOFAULT_LITTLE }, 0x8A }, // 8
34
  { "ASI_P_L", { .raw_val = SPARC_ASITAG_ASI_P_L }, "ASI_PRIMARY_LITTLE", { .raw_val = SPARC_ASITAG_ASI_PRIMARY_LITTLE }, 0x88 }, // 9
35
  { "ASI_S", { .raw_val = SPARC_ASITAG_ASI_S }, "ASI_SECONDARY", { .raw_val = SPARC_ASITAG_ASI_SECONDARY }, 0x81 }, // 10
36
  { "ASI_SNF", { .raw_val = SPARC_ASITAG_ASI_SNF }, "ASI_SECONDARY_NOFAULT", { .raw_val = SPARC_ASITAG_ASI_SECONDARY_NOFAULT }, 0x83 }, // 11
37
  { "ASI_SNF_L", { .raw_val = SPARC_ASITAG_ASI_SNF_L }, "ASI_SECONDARY_NOFAULT_LITTLE", { .raw_val = SPARC_ASITAG_ASI_SECONDARY_NOFAULT_LITTLE }, 0x8B }, // 12
38
  { "ASI_S_L", { .raw_val = SPARC_ASITAG_ASI_S_L }, "ASI_SECONDARY_LITTLE", { .raw_val = SPARC_ASITAG_ASI_SECONDARY_LITTLE }, 0x89 }, // 13
39
  };
40
41
0
const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByName(const char * Name) {
42
0
  static const struct IndexTypeStr Index[] = {
43
0
    { "ASI_AIUP", 0 },
44
0
    { "ASI_AIUP_L", 1 },
45
0
    { "ASI_AIUS", 2 },
46
0
    { "ASI_AIUS_L", 3 },
47
0
    { "ASI_N", 4 },
48
0
    { "ASI_N_L", 5 },
49
0
    { "ASI_P", 6 },
50
0
    { "ASI_PNF", 7 },
51
0
    { "ASI_PNF_L", 8 },
52
0
    { "ASI_P_L", 9 },
53
0
    { "ASI_S", 10 },
54
0
    { "ASI_SNF", 11 },
55
0
    { "ASI_SNF_L", 12 },
56
0
    { "ASI_S_L", 13 },
57
0
  };
58
59
0
   unsigned i = binsearch_IndexTypeStrEncoding(Index, ARR_SIZE(Index), Name);
60
0
   if (i == -1)
61
0
      return NULL;
62
0
   else
63
0
      return &ASITagsList[Index[i].index];
64
0
}
65
66
0
const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByAltName(const char * AltName) {
67
0
  static const struct IndexTypeStr Index[] = {
68
0
    { "ASI_AS_IF_USER_PRIMARY", 0 },
69
0
    { "ASI_AS_IF_USER_PRIMARY_LITTLE", 1 },
70
0
    { "ASI_AS_IF_USER_SECONDARY", 2 },
71
0
    { "ASI_AS_IF_USER_SECONDARY_LITTLE", 3 },
72
0
    { "ASI_NUCLEUS", 4 },
73
0
    { "ASI_NUCLEUS_LITTLE", 5 },
74
0
    { "ASI_PRIMARY", 6 },
75
0
    { "ASI_PRIMARY_LITTLE", 9 },
76
0
    { "ASI_PRIMARY_NOFAULT", 7 },
77
0
    { "ASI_PRIMARY_NOFAULT_LITTLE", 8 },
78
0
    { "ASI_SECONDARY", 10 },
79
0
    { "ASI_SECONDARY_LITTLE", 13 },
80
0
    { "ASI_SECONDARY_NOFAULT", 11 },
81
0
    { "ASI_SECONDARY_NOFAULT_LITTLE", 12 },
82
0
  };
83
84
0
   unsigned i = binsearch_IndexTypeStrEncoding(Index, ARR_SIZE(Index), AltName);
85
0
   if (i == -1)
86
0
      return NULL;
87
0
   else
88
0
      return &ASITagsList[Index[i].index];
89
0
}
90
91
1.40k
const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByEncoding(uint8_t Encoding) {
92
1.40k
  static const struct IndexType Index[] = {
93
1.40k
    { 0x4, 4 },
94
1.40k
    { 0xC, 5 },
95
1.40k
    { 0x10, 0 },
96
1.40k
    { 0x11, 2 },
97
1.40k
    { 0x18, 1 },
98
1.40k
    { 0x19, 3 },
99
1.40k
    { 0x80, 6 },
100
1.40k
    { 0x81, 10 },
101
1.40k
    { 0x82, 7 },
102
1.40k
    { 0x83, 11 },
103
1.40k
    { 0x88, 9 },
104
1.40k
    { 0x89, 13 },
105
1.40k
    { 0x8A, 8 },
106
1.40k
    { 0x8B, 12 },
107
1.40k
  };
108
109
1.40k
   unsigned i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
110
1.40k
   if (i == -1)
111
1.36k
      return NULL;
112
42
   else
113
42
      return &ASITagsList[Index[i].index];
114
1.40k
}
115
116
#endif
117
118
#undef GET_ASITAG_DECL
119
#undef GET_ASITAG_IMPL