1
2
3 package block
4
5 const (
6 BlockInvalid BlockKind = iota
7
8 Block386EQ
9 Block386NE
10 Block386LT
11 Block386LE
12 Block386GT
13 Block386GE
14 Block386OS
15 Block386OC
16 Block386ULT
17 Block386ULE
18 Block386UGT
19 Block386UGE
20 Block386EQF
21 Block386NEF
22 Block386ORD
23 Block386NAN
24
25 BlockAMD64EQ
26 BlockAMD64NE
27 BlockAMD64LT
28 BlockAMD64LE
29 BlockAMD64GT
30 BlockAMD64GE
31 BlockAMD64OS
32 BlockAMD64OC
33 BlockAMD64ULT
34 BlockAMD64ULE
35 BlockAMD64UGT
36 BlockAMD64UGE
37 BlockAMD64EQF
38 BlockAMD64NEF
39 BlockAMD64ORD
40 BlockAMD64NAN
41 BlockAMD64JUMPTABLE
42
43 BlockARMEQ
44 BlockARMNE
45 BlockARMLT
46 BlockARMLE
47 BlockARMGT
48 BlockARMGE
49 BlockARMULT
50 BlockARMULE
51 BlockARMUGT
52 BlockARMUGE
53 BlockARMLTnoov
54 BlockARMLEnoov
55 BlockARMGTnoov
56 BlockARMGEnoov
57
58 BlockARM64EQ
59 BlockARM64NE
60 BlockARM64LT
61 BlockARM64LE
62 BlockARM64GT
63 BlockARM64GE
64 BlockARM64ULT
65 BlockARM64ULE
66 BlockARM64UGT
67 BlockARM64UGE
68 BlockARM64Z
69 BlockARM64NZ
70 BlockARM64ZW
71 BlockARM64NZW
72 BlockARM64TBZ
73 BlockARM64TBNZ
74 BlockARM64FLT
75 BlockARM64FLE
76 BlockARM64FGT
77 BlockARM64FGE
78 BlockARM64LTnoov
79 BlockARM64LEnoov
80 BlockARM64GTnoov
81 BlockARM64GEnoov
82 BlockARM64JUMPTABLE
83
84 BlockLOONG64EQZ
85 BlockLOONG64NEZ
86 BlockLOONG64LTZ
87 BlockLOONG64LEZ
88 BlockLOONG64GTZ
89 BlockLOONG64GEZ
90 BlockLOONG64FPT
91 BlockLOONG64FPF
92 BlockLOONG64BEQ
93 BlockLOONG64BNE
94 BlockLOONG64BGE
95 BlockLOONG64BLT
96 BlockLOONG64BGEU
97 BlockLOONG64BLTU
98 BlockLOONG64JUMPTABLE
99
100 BlockMIPSEQ
101 BlockMIPSNE
102 BlockMIPSLTZ
103 BlockMIPSLEZ
104 BlockMIPSGTZ
105 BlockMIPSGEZ
106 BlockMIPSFPT
107 BlockMIPSFPF
108
109 BlockMIPS64EQ
110 BlockMIPS64NE
111 BlockMIPS64LTZ
112 BlockMIPS64LEZ
113 BlockMIPS64GTZ
114 BlockMIPS64GEZ
115 BlockMIPS64FPT
116 BlockMIPS64FPF
117
118 BlockPPC64EQ
119 BlockPPC64NE
120 BlockPPC64LT
121 BlockPPC64LE
122 BlockPPC64GT
123 BlockPPC64GE
124 BlockPPC64FLT
125 BlockPPC64FLE
126 BlockPPC64FGT
127 BlockPPC64FGE
128
129 BlockRISCV64BEQ
130 BlockRISCV64BNE
131 BlockRISCV64BLT
132 BlockRISCV64BGE
133 BlockRISCV64BLTU
134 BlockRISCV64BGEU
135 BlockRISCV64BEQZ
136 BlockRISCV64BNEZ
137 BlockRISCV64BLEZ
138 BlockRISCV64BGEZ
139 BlockRISCV64BLTZ
140 BlockRISCV64BGTZ
141
142 BlockS390XBRC
143 BlockS390XCRJ
144 BlockS390XCGRJ
145 BlockS390XCLRJ
146 BlockS390XCLGRJ
147 BlockS390XCIJ
148 BlockS390XCGIJ
149 BlockS390XCLIJ
150 BlockS390XCLGIJ
151
152 BlockPlain
153 BlockIf
154 BlockDefer
155 BlockRet
156 BlockRetJmp
157 BlockExit
158 BlockJumpTable
159 BlockFirst
160 )
161
162 var blockString = [...]string{
163 BlockInvalid: "BlockInvalid",
164
165 Block386EQ: "EQ",
166 Block386NE: "NE",
167 Block386LT: "LT",
168 Block386LE: "LE",
169 Block386GT: "GT",
170 Block386GE: "GE",
171 Block386OS: "OS",
172 Block386OC: "OC",
173 Block386ULT: "ULT",
174 Block386ULE: "ULE",
175 Block386UGT: "UGT",
176 Block386UGE: "UGE",
177 Block386EQF: "EQF",
178 Block386NEF: "NEF",
179 Block386ORD: "ORD",
180 Block386NAN: "NAN",
181
182 BlockAMD64EQ: "EQ",
183 BlockAMD64NE: "NE",
184 BlockAMD64LT: "LT",
185 BlockAMD64LE: "LE",
186 BlockAMD64GT: "GT",
187 BlockAMD64GE: "GE",
188 BlockAMD64OS: "OS",
189 BlockAMD64OC: "OC",
190 BlockAMD64ULT: "ULT",
191 BlockAMD64ULE: "ULE",
192 BlockAMD64UGT: "UGT",
193 BlockAMD64UGE: "UGE",
194 BlockAMD64EQF: "EQF",
195 BlockAMD64NEF: "NEF",
196 BlockAMD64ORD: "ORD",
197 BlockAMD64NAN: "NAN",
198 BlockAMD64JUMPTABLE: "JUMPTABLE",
199
200 BlockARMEQ: "EQ",
201 BlockARMNE: "NE",
202 BlockARMLT: "LT",
203 BlockARMLE: "LE",
204 BlockARMGT: "GT",
205 BlockARMGE: "GE",
206 BlockARMULT: "ULT",
207 BlockARMULE: "ULE",
208 BlockARMUGT: "UGT",
209 BlockARMUGE: "UGE",
210 BlockARMLTnoov: "LTnoov",
211 BlockARMLEnoov: "LEnoov",
212 BlockARMGTnoov: "GTnoov",
213 BlockARMGEnoov: "GEnoov",
214
215 BlockARM64EQ: "EQ",
216 BlockARM64NE: "NE",
217 BlockARM64LT: "LT",
218 BlockARM64LE: "LE",
219 BlockARM64GT: "GT",
220 BlockARM64GE: "GE",
221 BlockARM64ULT: "ULT",
222 BlockARM64ULE: "ULE",
223 BlockARM64UGT: "UGT",
224 BlockARM64UGE: "UGE",
225 BlockARM64Z: "Z",
226 BlockARM64NZ: "NZ",
227 BlockARM64ZW: "ZW",
228 BlockARM64NZW: "NZW",
229 BlockARM64TBZ: "TBZ",
230 BlockARM64TBNZ: "TBNZ",
231 BlockARM64FLT: "FLT",
232 BlockARM64FLE: "FLE",
233 BlockARM64FGT: "FGT",
234 BlockARM64FGE: "FGE",
235 BlockARM64LTnoov: "LTnoov",
236 BlockARM64LEnoov: "LEnoov",
237 BlockARM64GTnoov: "GTnoov",
238 BlockARM64GEnoov: "GEnoov",
239 BlockARM64JUMPTABLE: "JUMPTABLE",
240
241 BlockLOONG64EQZ: "EQZ",
242 BlockLOONG64NEZ: "NEZ",
243 BlockLOONG64LTZ: "LTZ",
244 BlockLOONG64LEZ: "LEZ",
245 BlockLOONG64GTZ: "GTZ",
246 BlockLOONG64GEZ: "GEZ",
247 BlockLOONG64FPT: "FPT",
248 BlockLOONG64FPF: "FPF",
249 BlockLOONG64BEQ: "BEQ",
250 BlockLOONG64BNE: "BNE",
251 BlockLOONG64BGE: "BGE",
252 BlockLOONG64BLT: "BLT",
253 BlockLOONG64BGEU: "BGEU",
254 BlockLOONG64BLTU: "BLTU",
255 BlockLOONG64JUMPTABLE: "JUMPTABLE",
256
257 BlockMIPSEQ: "EQ",
258 BlockMIPSNE: "NE",
259 BlockMIPSLTZ: "LTZ",
260 BlockMIPSLEZ: "LEZ",
261 BlockMIPSGTZ: "GTZ",
262 BlockMIPSGEZ: "GEZ",
263 BlockMIPSFPT: "FPT",
264 BlockMIPSFPF: "FPF",
265
266 BlockMIPS64EQ: "EQ",
267 BlockMIPS64NE: "NE",
268 BlockMIPS64LTZ: "LTZ",
269 BlockMIPS64LEZ: "LEZ",
270 BlockMIPS64GTZ: "GTZ",
271 BlockMIPS64GEZ: "GEZ",
272 BlockMIPS64FPT: "FPT",
273 BlockMIPS64FPF: "FPF",
274
275 BlockPPC64EQ: "EQ",
276 BlockPPC64NE: "NE",
277 BlockPPC64LT: "LT",
278 BlockPPC64LE: "LE",
279 BlockPPC64GT: "GT",
280 BlockPPC64GE: "GE",
281 BlockPPC64FLT: "FLT",
282 BlockPPC64FLE: "FLE",
283 BlockPPC64FGT: "FGT",
284 BlockPPC64FGE: "FGE",
285
286 BlockRISCV64BEQ: "BEQ",
287 BlockRISCV64BNE: "BNE",
288 BlockRISCV64BLT: "BLT",
289 BlockRISCV64BGE: "BGE",
290 BlockRISCV64BLTU: "BLTU",
291 BlockRISCV64BGEU: "BGEU",
292 BlockRISCV64BEQZ: "BEQZ",
293 BlockRISCV64BNEZ: "BNEZ",
294 BlockRISCV64BLEZ: "BLEZ",
295 BlockRISCV64BGEZ: "BGEZ",
296 BlockRISCV64BLTZ: "BLTZ",
297 BlockRISCV64BGTZ: "BGTZ",
298
299 BlockS390XBRC: "BRC",
300 BlockS390XCRJ: "CRJ",
301 BlockS390XCGRJ: "CGRJ",
302 BlockS390XCLRJ: "CLRJ",
303 BlockS390XCLGRJ: "CLGRJ",
304 BlockS390XCIJ: "CIJ",
305 BlockS390XCGIJ: "CGIJ",
306 BlockS390XCLIJ: "CLIJ",
307 BlockS390XCLGIJ: "CLGIJ",
308
309 BlockPlain: "Plain",
310 BlockIf: "If",
311 BlockDefer: "Defer",
312 BlockRet: "Ret",
313 BlockRetJmp: "RetJmp",
314 BlockExit: "Exit",
315 BlockJumpTable: "JumpTable",
316 BlockFirst: "First",
317 }
318
319 func (k BlockKind) String() string { return blockString[k] }
320 func (k BlockKind) AuxIntType() string {
321 switch k {
322 case BlockARM64TBZ:
323 return "int64"
324 case BlockARM64TBNZ:
325 return "int64"
326 case BlockS390XCIJ:
327 return "int8"
328 case BlockS390XCGIJ:
329 return "int8"
330 case BlockS390XCLIJ:
331 return "uint8"
332 case BlockS390XCLGIJ:
333 return "uint8"
334 }
335 return ""
336 }
337
View as plain text