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 BlockMIPSJUMPTABLE
109
110 BlockMIPS64EQ
111 BlockMIPS64NE
112 BlockMIPS64LTZ
113 BlockMIPS64LEZ
114 BlockMIPS64GTZ
115 BlockMIPS64GEZ
116 BlockMIPS64FPT
117 BlockMIPS64FPF
118 BlockMIPS64JUMPTABLE
119
120 BlockPPC64EQ
121 BlockPPC64NE
122 BlockPPC64LT
123 BlockPPC64LE
124 BlockPPC64GT
125 BlockPPC64GE
126 BlockPPC64FLT
127 BlockPPC64FLE
128 BlockPPC64FGT
129 BlockPPC64FGE
130
131 BlockRISCV64BEQ
132 BlockRISCV64BNE
133 BlockRISCV64BLT
134 BlockRISCV64BGE
135 BlockRISCV64BLTU
136 BlockRISCV64BGEU
137 BlockRISCV64BEQZ
138 BlockRISCV64BNEZ
139 BlockRISCV64BLEZ
140 BlockRISCV64BGEZ
141 BlockRISCV64BLTZ
142 BlockRISCV64BGTZ
143 BlockRISCV64JUMPTABLE
144
145 BlockS390XBRC
146 BlockS390XCRJ
147 BlockS390XCGRJ
148 BlockS390XCLRJ
149 BlockS390XCLGRJ
150 BlockS390XCIJ
151 BlockS390XCGIJ
152 BlockS390XCLIJ
153 BlockS390XCLGIJ
154
155 BlockPlain
156 BlockIf
157 BlockDefer
158 BlockRet
159 BlockRetJmp
160 BlockExit
161 BlockJumpTable
162 BlockFirst
163 )
164
165 var blockString = [...]string{
166 BlockInvalid: "BlockInvalid",
167
168 Block386EQ: "EQ",
169 Block386NE: "NE",
170 Block386LT: "LT",
171 Block386LE: "LE",
172 Block386GT: "GT",
173 Block386GE: "GE",
174 Block386OS: "OS",
175 Block386OC: "OC",
176 Block386ULT: "ULT",
177 Block386ULE: "ULE",
178 Block386UGT: "UGT",
179 Block386UGE: "UGE",
180 Block386EQF: "EQF",
181 Block386NEF: "NEF",
182 Block386ORD: "ORD",
183 Block386NAN: "NAN",
184
185 BlockAMD64EQ: "EQ",
186 BlockAMD64NE: "NE",
187 BlockAMD64LT: "LT",
188 BlockAMD64LE: "LE",
189 BlockAMD64GT: "GT",
190 BlockAMD64GE: "GE",
191 BlockAMD64OS: "OS",
192 BlockAMD64OC: "OC",
193 BlockAMD64ULT: "ULT",
194 BlockAMD64ULE: "ULE",
195 BlockAMD64UGT: "UGT",
196 BlockAMD64UGE: "UGE",
197 BlockAMD64EQF: "EQF",
198 BlockAMD64NEF: "NEF",
199 BlockAMD64ORD: "ORD",
200 BlockAMD64NAN: "NAN",
201 BlockAMD64JUMPTABLE: "JUMPTABLE",
202
203 BlockARMEQ: "EQ",
204 BlockARMNE: "NE",
205 BlockARMLT: "LT",
206 BlockARMLE: "LE",
207 BlockARMGT: "GT",
208 BlockARMGE: "GE",
209 BlockARMULT: "ULT",
210 BlockARMULE: "ULE",
211 BlockARMUGT: "UGT",
212 BlockARMUGE: "UGE",
213 BlockARMLTnoov: "LTnoov",
214 BlockARMLEnoov: "LEnoov",
215 BlockARMGTnoov: "GTnoov",
216 BlockARMGEnoov: "GEnoov",
217
218 BlockARM64EQ: "EQ",
219 BlockARM64NE: "NE",
220 BlockARM64LT: "LT",
221 BlockARM64LE: "LE",
222 BlockARM64GT: "GT",
223 BlockARM64GE: "GE",
224 BlockARM64ULT: "ULT",
225 BlockARM64ULE: "ULE",
226 BlockARM64UGT: "UGT",
227 BlockARM64UGE: "UGE",
228 BlockARM64Z: "Z",
229 BlockARM64NZ: "NZ",
230 BlockARM64ZW: "ZW",
231 BlockARM64NZW: "NZW",
232 BlockARM64TBZ: "TBZ",
233 BlockARM64TBNZ: "TBNZ",
234 BlockARM64FLT: "FLT",
235 BlockARM64FLE: "FLE",
236 BlockARM64FGT: "FGT",
237 BlockARM64FGE: "FGE",
238 BlockARM64LTnoov: "LTnoov",
239 BlockARM64LEnoov: "LEnoov",
240 BlockARM64GTnoov: "GTnoov",
241 BlockARM64GEnoov: "GEnoov",
242 BlockARM64JUMPTABLE: "JUMPTABLE",
243
244 BlockLOONG64EQZ: "EQZ",
245 BlockLOONG64NEZ: "NEZ",
246 BlockLOONG64LTZ: "LTZ",
247 BlockLOONG64LEZ: "LEZ",
248 BlockLOONG64GTZ: "GTZ",
249 BlockLOONG64GEZ: "GEZ",
250 BlockLOONG64FPT: "FPT",
251 BlockLOONG64FPF: "FPF",
252 BlockLOONG64BEQ: "BEQ",
253 BlockLOONG64BNE: "BNE",
254 BlockLOONG64BGE: "BGE",
255 BlockLOONG64BLT: "BLT",
256 BlockLOONG64BGEU: "BGEU",
257 BlockLOONG64BLTU: "BLTU",
258 BlockLOONG64JUMPTABLE: "JUMPTABLE",
259
260 BlockMIPSEQ: "EQ",
261 BlockMIPSNE: "NE",
262 BlockMIPSLTZ: "LTZ",
263 BlockMIPSLEZ: "LEZ",
264 BlockMIPSGTZ: "GTZ",
265 BlockMIPSGEZ: "GEZ",
266 BlockMIPSFPT: "FPT",
267 BlockMIPSFPF: "FPF",
268 BlockMIPSJUMPTABLE: "JUMPTABLE",
269
270 BlockMIPS64EQ: "EQ",
271 BlockMIPS64NE: "NE",
272 BlockMIPS64LTZ: "LTZ",
273 BlockMIPS64LEZ: "LEZ",
274 BlockMIPS64GTZ: "GTZ",
275 BlockMIPS64GEZ: "GEZ",
276 BlockMIPS64FPT: "FPT",
277 BlockMIPS64FPF: "FPF",
278 BlockMIPS64JUMPTABLE: "JUMPTABLE",
279
280 BlockPPC64EQ: "EQ",
281 BlockPPC64NE: "NE",
282 BlockPPC64LT: "LT",
283 BlockPPC64LE: "LE",
284 BlockPPC64GT: "GT",
285 BlockPPC64GE: "GE",
286 BlockPPC64FLT: "FLT",
287 BlockPPC64FLE: "FLE",
288 BlockPPC64FGT: "FGT",
289 BlockPPC64FGE: "FGE",
290
291 BlockRISCV64BEQ: "BEQ",
292 BlockRISCV64BNE: "BNE",
293 BlockRISCV64BLT: "BLT",
294 BlockRISCV64BGE: "BGE",
295 BlockRISCV64BLTU: "BLTU",
296 BlockRISCV64BGEU: "BGEU",
297 BlockRISCV64BEQZ: "BEQZ",
298 BlockRISCV64BNEZ: "BNEZ",
299 BlockRISCV64BLEZ: "BLEZ",
300 BlockRISCV64BGEZ: "BGEZ",
301 BlockRISCV64BLTZ: "BLTZ",
302 BlockRISCV64BGTZ: "BGTZ",
303 BlockRISCV64JUMPTABLE: "JUMPTABLE",
304
305 BlockS390XBRC: "BRC",
306 BlockS390XCRJ: "CRJ",
307 BlockS390XCGRJ: "CGRJ",
308 BlockS390XCLRJ: "CLRJ",
309 BlockS390XCLGRJ: "CLGRJ",
310 BlockS390XCIJ: "CIJ",
311 BlockS390XCGIJ: "CGIJ",
312 BlockS390XCLIJ: "CLIJ",
313 BlockS390XCLGIJ: "CLGIJ",
314
315 BlockPlain: "Plain",
316 BlockIf: "If",
317 BlockDefer: "Defer",
318 BlockRet: "Ret",
319 BlockRetJmp: "RetJmp",
320 BlockExit: "Exit",
321 BlockJumpTable: "JumpTable",
322 BlockFirst: "First",
323 }
324
325 func (k BlockKind) String() string { return blockString[k] }
326 func (k BlockKind) AuxIntType() string {
327 switch k {
328 case BlockARM64TBZ:
329 return "int64"
330 case BlockARM64TBNZ:
331 return "int64"
332 case BlockS390XCIJ:
333 return "int8"
334 case BlockS390XCGIJ:
335 return "int8"
336 case BlockS390XCLIJ:
337 return "uint8"
338 case BlockS390XCLGIJ:
339 return "uint8"
340 }
341 return ""
342 }
343
View as plain text