aboutsummaryrefslogtreecommitdiff
path: root/backend/include/rcc/CodeGen/GenericOpcode.def
blob: 8caaf7b5e851ad9bcf26fd202bf35594a4aaedaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
// SPDX-License-Identifier: GPL-3.0-or-later

// This file is intentionally included multiple times. Define
// RCC_CORE_OPCODE and RCC_GENERIC_OPCODE before including it.

RCC_CORE_OPCODE(PHI)
RCC_CORE_OPCODE(INLINEASM)
RCC_CORE_OPCODE(INLINEASM_BR)
RCC_CORE_OPCODE(CFI_INSTRUCTION)
RCC_CORE_OPCODE(EH_LABEL)
RCC_CORE_OPCODE(GC_LABEL)
RCC_CORE_OPCODE(ANNOTATION_LABEL)
RCC_CORE_OPCODE(KILL)
RCC_CORE_OPCODE(EXTRACT_SUBREG)
RCC_CORE_OPCODE(INSERT_SUBREG)
RCC_CORE_OPCODE(IMPLICIT_DEF)
RCC_CORE_OPCODE(INIT_UNDEF)
RCC_CORE_OPCODE(SUBREG_TO_REG)
RCC_CORE_OPCODE(COPY_TO_REGCLASS)
RCC_CORE_OPCODE(DBG_VALUE)
RCC_CORE_OPCODE(DBG_VALUE_LIST)
RCC_CORE_OPCODE(DBG_INSTR_REF)
RCC_CORE_OPCODE(DBG_PHI)
RCC_CORE_OPCODE(DBG_LABEL)
RCC_CORE_OPCODE(REG_SEQUENCE)
RCC_CORE_OPCODE(COPY)
RCC_CORE_OPCODE(COPY_LANEMASK)
RCC_CORE_OPCODE(BUNDLE)
RCC_CORE_OPCODE(LIFETIME_START)
RCC_CORE_OPCODE(LIFETIME_END)
RCC_CORE_OPCODE(PSEUDO_PROBE)
RCC_CORE_OPCODE(ARITH_FENCE)
RCC_CORE_OPCODE(STACKMAP)
RCC_CORE_OPCODE(FENTRY_CALL)
RCC_CORE_OPCODE(PATCHPOINT)
RCC_CORE_OPCODE(LOAD_STACK_GUARD)
RCC_CORE_OPCODE(PREALLOCATED_SETUP)
RCC_CORE_OPCODE(PREALLOCATED_ARG)
RCC_CORE_OPCODE(STATEPOINT)
RCC_CORE_OPCODE(LOCAL_ESCAPE)
RCC_CORE_OPCODE(FAULTING_OP)
RCC_CORE_OPCODE(PATCHABLE_OP)
RCC_CORE_OPCODE(PATCHABLE_FUNCTION_ENTER)
RCC_CORE_OPCODE(PATCHABLE_RET)
RCC_CORE_OPCODE(PATCHABLE_FUNCTION_EXIT)
RCC_CORE_OPCODE(PATCHABLE_TAIL_CALL)
RCC_CORE_OPCODE(PATCHABLE_EVENT_CALL)
RCC_CORE_OPCODE(PATCHABLE_TYPED_EVENT_CALL)
RCC_CORE_OPCODE(ICALL_BRANCH_FUNNEL)
RCC_CORE_OPCODE(FAKE_USE)
RCC_CORE_OPCODE(MEMBARRIER)
RCC_CORE_OPCODE(JUMP_TABLE_DEBUG_INFO)
RCC_CORE_OPCODE(RELOC_NONE)
RCC_CORE_OPCODE(CONVERGENCECTRL_ENTRY)
RCC_CORE_OPCODE(CONVERGENCECTRL_ANCHOR)
RCC_CORE_OPCODE(CONVERGENCECTRL_LOOP)
RCC_CORE_OPCODE(CONVERGENCECTRL_GLUE)

RCC_GENERIC_OPCODE(G_ASSERT_SEXT)
RCC_GENERIC_OPCODE(G_ASSERT_ZEXT)
RCC_GENERIC_OPCODE(G_ASSERT_ALIGN)
RCC_GENERIC_OPCODE(G_ADD)
RCC_GENERIC_OPCODE(G_SUB)
RCC_GENERIC_OPCODE(G_MUL)
RCC_GENERIC_OPCODE(G_SDIV)
RCC_GENERIC_OPCODE(G_UDIV)
RCC_GENERIC_OPCODE(G_SREM)
RCC_GENERIC_OPCODE(G_UREM)
RCC_GENERIC_OPCODE(G_SDIVREM)
RCC_GENERIC_OPCODE(G_UDIVREM)
RCC_GENERIC_OPCODE(G_AND)
RCC_GENERIC_OPCODE(G_OR)
RCC_GENERIC_OPCODE(G_XOR)
RCC_GENERIC_OPCODE(G_ABDS)
RCC_GENERIC_OPCODE(G_ABDU)
RCC_GENERIC_OPCODE(G_UAVGFLOOR)
RCC_GENERIC_OPCODE(G_UAVGCEIL)
RCC_GENERIC_OPCODE(G_SAVGFLOOR)
RCC_GENERIC_OPCODE(G_SAVGCEIL)
RCC_GENERIC_OPCODE(G_IMPLICIT_DEF)
RCC_GENERIC_OPCODE(G_PHI)
RCC_GENERIC_OPCODE(G_FRAME_INDEX)
RCC_GENERIC_OPCODE(G_GLOBAL_VALUE)
RCC_GENERIC_OPCODE(G_PTRAUTH_GLOBAL_VALUE)
RCC_GENERIC_OPCODE(G_CONSTANT_POOL)
RCC_GENERIC_OPCODE(G_EXTRACT)
RCC_GENERIC_OPCODE(G_UNMERGE_VALUES)
RCC_GENERIC_OPCODE(G_INSERT)
RCC_GENERIC_OPCODE(G_MERGE_VALUES)
RCC_GENERIC_OPCODE(G_BUILD_VECTOR)
RCC_GENERIC_OPCODE(G_BUILD_VECTOR_TRUNC)
RCC_GENERIC_OPCODE(G_CONCAT_VECTORS)
RCC_GENERIC_OPCODE(G_PTRTOINT)
RCC_GENERIC_OPCODE(G_INTTOPTR)
RCC_GENERIC_OPCODE(G_BITCAST)
RCC_GENERIC_OPCODE(G_FREEZE)
RCC_GENERIC_OPCODE(G_CONSTANT_FOLD_BARRIER)
RCC_GENERIC_OPCODE(G_INTRINSIC_FPTRUNC_ROUND)
RCC_GENERIC_OPCODE(G_INTRINSIC_TRUNC)
RCC_GENERIC_OPCODE(G_INTRINSIC_ROUND)
RCC_GENERIC_OPCODE(G_INTRINSIC_LRINT)
RCC_GENERIC_OPCODE(G_INTRINSIC_LLRINT)
RCC_GENERIC_OPCODE(G_INTRINSIC_ROUNDEVEN)
RCC_GENERIC_OPCODE(G_READCYCLECOUNTER)
RCC_GENERIC_OPCODE(G_READSTEADYCOUNTER)
RCC_GENERIC_OPCODE(G_LOAD)
RCC_GENERIC_OPCODE(G_SEXTLOAD)
RCC_GENERIC_OPCODE(G_ZEXTLOAD)
RCC_GENERIC_OPCODE(G_FPEXTLOAD)
RCC_GENERIC_OPCODE(G_INDEXED_LOAD)
RCC_GENERIC_OPCODE(G_INDEXED_SEXTLOAD)
RCC_GENERIC_OPCODE(G_INDEXED_ZEXTLOAD)
RCC_GENERIC_OPCODE(G_STORE)
RCC_GENERIC_OPCODE(G_FPTRUNCSTORE)
RCC_GENERIC_OPCODE(G_INDEXED_STORE)
RCC_GENERIC_OPCODE(G_ATOMIC_CMPXCHG_WITH_SUCCESS)
RCC_GENERIC_OPCODE(G_ATOMIC_CMPXCHG)
RCC_GENERIC_OPCODE(G_ATOMICRMW_XCHG)
RCC_GENERIC_OPCODE(G_ATOMICRMW_ADD)
RCC_GENERIC_OPCODE(G_ATOMICRMW_SUB)
RCC_GENERIC_OPCODE(G_ATOMICRMW_AND)
RCC_GENERIC_OPCODE(G_ATOMICRMW_NAND)
RCC_GENERIC_OPCODE(G_ATOMICRMW_OR)
RCC_GENERIC_OPCODE(G_ATOMICRMW_XOR)
RCC_GENERIC_OPCODE(G_ATOMICRMW_MAX)
RCC_GENERIC_OPCODE(G_ATOMICRMW_MIN)
RCC_GENERIC_OPCODE(G_ATOMICRMW_UMAX)
RCC_GENERIC_OPCODE(G_ATOMICRMW_UMIN)
RCC_GENERIC_OPCODE(G_ATOMICRMW_FADD)
RCC_GENERIC_OPCODE(G_ATOMICRMW_FSUB)
RCC_GENERIC_OPCODE(G_ATOMICRMW_FMAX)
RCC_GENERIC_OPCODE(G_ATOMICRMW_FMIN)
RCC_GENERIC_OPCODE(G_ATOMICRMW_FMAXIMUM)
RCC_GENERIC_OPCODE(G_ATOMICRMW_FMINIMUM)
RCC_GENERIC_OPCODE(G_ATOMICRMW_FMAXIMUMNUM)
RCC_GENERIC_OPCODE(G_ATOMICRMW_FMINIMUMNUM)
RCC_GENERIC_OPCODE(G_ATOMICRMW_UINC_WRAP)
RCC_GENERIC_OPCODE(G_ATOMICRMW_UDEC_WRAP)
RCC_GENERIC_OPCODE(G_ATOMICRMW_USUB_COND)
RCC_GENERIC_OPCODE(G_ATOMICRMW_USUB_SAT)
RCC_GENERIC_OPCODE(G_FENCE)
RCC_GENERIC_OPCODE(G_PREFETCH)
RCC_GENERIC_OPCODE(G_BRCOND)
RCC_GENERIC_OPCODE(G_BRINDIRECT)
RCC_GENERIC_OPCODE(G_INVOKE_REGION_START)
RCC_GENERIC_OPCODE(G_INTRINSIC)
RCC_GENERIC_OPCODE(G_INTRINSIC_W_SIDE_EFFECTS)
RCC_GENERIC_OPCODE(G_INTRINSIC_CONVERGENT)
RCC_GENERIC_OPCODE(G_INTRINSIC_CONVERGENT_W_SIDE_EFFECTS)
RCC_GENERIC_OPCODE(G_ANYEXT)
RCC_GENERIC_OPCODE(G_TRUNC)
RCC_GENERIC_OPCODE(G_TRUNC_SSAT_S)
RCC_GENERIC_OPCODE(G_TRUNC_SSAT_U)
RCC_GENERIC_OPCODE(G_TRUNC_USAT_U)
RCC_GENERIC_OPCODE(G_CONSTANT)
RCC_GENERIC_OPCODE(G_FCONSTANT)
RCC_GENERIC_OPCODE(G_VASTART)
RCC_GENERIC_OPCODE(G_VAARG)
RCC_GENERIC_OPCODE(G_SEXT)
RCC_GENERIC_OPCODE(G_SEXT_INREG)
RCC_GENERIC_OPCODE(G_ZEXT)
RCC_GENERIC_OPCODE(G_SHL)
RCC_GENERIC_OPCODE(G_LSHR)
RCC_GENERIC_OPCODE(G_ASHR)
RCC_GENERIC_OPCODE(G_FSHL)
RCC_GENERIC_OPCODE(G_FSHR)
RCC_GENERIC_OPCODE(G_ROTR)
RCC_GENERIC_OPCODE(G_ROTL)
RCC_GENERIC_OPCODE(G_ICMP)
RCC_GENERIC_OPCODE(G_FCMP)
RCC_GENERIC_OPCODE(G_SCMP)
RCC_GENERIC_OPCODE(G_UCMP)
RCC_GENERIC_OPCODE(G_SELECT)
RCC_GENERIC_OPCODE(G_UADDO)
RCC_GENERIC_OPCODE(G_UADDE)
RCC_GENERIC_OPCODE(G_USUBO)
RCC_GENERIC_OPCODE(G_USUBE)
RCC_GENERIC_OPCODE(G_SADDO)
RCC_GENERIC_OPCODE(G_SADDE)
RCC_GENERIC_OPCODE(G_SSUBO)
RCC_GENERIC_OPCODE(G_SSUBE)
RCC_GENERIC_OPCODE(G_UMULO)
RCC_GENERIC_OPCODE(G_SMULO)
RCC_GENERIC_OPCODE(G_UMULH)
RCC_GENERIC_OPCODE(G_SMULH)
RCC_GENERIC_OPCODE(G_UADDSAT)
RCC_GENERIC_OPCODE(G_SADDSAT)
RCC_GENERIC_OPCODE(G_USUBSAT)
RCC_GENERIC_OPCODE(G_SSUBSAT)
RCC_GENERIC_OPCODE(G_USHLSAT)
RCC_GENERIC_OPCODE(G_SSHLSAT)
RCC_GENERIC_OPCODE(G_SMULFIX)
RCC_GENERIC_OPCODE(G_UMULFIX)
RCC_GENERIC_OPCODE(G_SMULFIXSAT)
RCC_GENERIC_OPCODE(G_UMULFIXSAT)
RCC_GENERIC_OPCODE(G_SDIVFIX)
RCC_GENERIC_OPCODE(G_UDIVFIX)
RCC_GENERIC_OPCODE(G_SDIVFIXSAT)
RCC_GENERIC_OPCODE(G_UDIVFIXSAT)
RCC_GENERIC_OPCODE(G_FADD)
RCC_GENERIC_OPCODE(G_FSUB)
RCC_GENERIC_OPCODE(G_FMUL)
RCC_GENERIC_OPCODE(G_FMA)
RCC_GENERIC_OPCODE(G_FMAD)
RCC_GENERIC_OPCODE(G_FDIV)
RCC_GENERIC_OPCODE(G_FREM)
RCC_GENERIC_OPCODE(G_FMODF)
RCC_GENERIC_OPCODE(G_FPOW)
RCC_GENERIC_OPCODE(G_FPOWI)
RCC_GENERIC_OPCODE(G_FEXP)
RCC_GENERIC_OPCODE(G_FEXP2)
RCC_GENERIC_OPCODE(G_FEXP10)
RCC_GENERIC_OPCODE(G_FLOG)
RCC_GENERIC_OPCODE(G_FLOG2)
RCC_GENERIC_OPCODE(G_FLOG10)
RCC_GENERIC_OPCODE(G_FLDEXP)
RCC_GENERIC_OPCODE(G_FFREXP)
RCC_GENERIC_OPCODE(G_FNEG)
RCC_GENERIC_OPCODE(G_FPEXT)
RCC_GENERIC_OPCODE(G_FPTRUNC)
RCC_GENERIC_OPCODE(G_FPTOSI)
RCC_GENERIC_OPCODE(G_FPTOUI)
RCC_GENERIC_OPCODE(G_SITOFP)
RCC_GENERIC_OPCODE(G_UITOFP)
RCC_GENERIC_OPCODE(G_FPTOSI_SAT)
RCC_GENERIC_OPCODE(G_FPTOUI_SAT)
RCC_GENERIC_OPCODE(G_FABS)
RCC_GENERIC_OPCODE(G_FCOPYSIGN)
RCC_GENERIC_OPCODE(G_IS_FPCLASS)
RCC_GENERIC_OPCODE(G_FCANONICALIZE)
RCC_GENERIC_OPCODE(G_FMINNUM)
RCC_GENERIC_OPCODE(G_FMAXNUM)
RCC_GENERIC_OPCODE(G_FMINNUM_IEEE)
RCC_GENERIC_OPCODE(G_FMAXNUM_IEEE)
RCC_GENERIC_OPCODE(G_FMINIMUM)
RCC_GENERIC_OPCODE(G_FMAXIMUM)
RCC_GENERIC_OPCODE(G_FMINIMUMNUM)
RCC_GENERIC_OPCODE(G_FMAXIMUMNUM)
RCC_GENERIC_OPCODE(G_GET_FPENV)
RCC_GENERIC_OPCODE(G_SET_FPENV)
RCC_GENERIC_OPCODE(G_RESET_FPENV)
RCC_GENERIC_OPCODE(G_GET_FPMODE)
RCC_GENERIC_OPCODE(G_SET_FPMODE)
RCC_GENERIC_OPCODE(G_RESET_FPMODE)
RCC_GENERIC_OPCODE(G_GET_ROUNDING)
RCC_GENERIC_OPCODE(G_SET_ROUNDING)
RCC_GENERIC_OPCODE(G_PTR_ADD)
RCC_GENERIC_OPCODE(G_PTRMASK)
RCC_GENERIC_OPCODE(G_SMIN)
RCC_GENERIC_OPCODE(G_SMAX)
RCC_GENERIC_OPCODE(G_UMIN)
RCC_GENERIC_OPCODE(G_UMAX)
RCC_GENERIC_OPCODE(G_ABS)
RCC_GENERIC_OPCODE(G_LROUND)
RCC_GENERIC_OPCODE(G_LLROUND)
RCC_GENERIC_OPCODE(G_BR)
RCC_GENERIC_OPCODE(G_BRJT)
RCC_GENERIC_OPCODE(G_VSCALE)
RCC_GENERIC_OPCODE(G_INSERT_SUBVECTOR)
RCC_GENERIC_OPCODE(G_EXTRACT_SUBVECTOR)
RCC_GENERIC_OPCODE(G_INSERT_VECTOR_ELT)
RCC_GENERIC_OPCODE(G_EXTRACT_VECTOR_ELT)
RCC_GENERIC_OPCODE(G_SHUFFLE_VECTOR)
RCC_GENERIC_OPCODE(G_SPLAT_VECTOR)
RCC_GENERIC_OPCODE(G_STEP_VECTOR)
RCC_GENERIC_OPCODE(G_VECTOR_COMPRESS)
RCC_GENERIC_OPCODE(G_CTTZ)
RCC_GENERIC_OPCODE(G_CTTZ_ZERO_POISON)
RCC_GENERIC_OPCODE(G_CTLZ)
RCC_GENERIC_OPCODE(G_CTLZ_ZERO_POISON)
RCC_GENERIC_OPCODE(G_CTLS)
RCC_GENERIC_OPCODE(G_CTPOP)
RCC_GENERIC_OPCODE(G_BSWAP)
RCC_GENERIC_OPCODE(G_BITREVERSE)
RCC_GENERIC_OPCODE(G_CLMUL)
RCC_GENERIC_OPCODE(G_FCEIL)
RCC_GENERIC_OPCODE(G_FCOS)
RCC_GENERIC_OPCODE(G_FSIN)
RCC_GENERIC_OPCODE(G_FSINCOS)
RCC_GENERIC_OPCODE(G_FTAN)
RCC_GENERIC_OPCODE(G_FACOS)
RCC_GENERIC_OPCODE(G_FASIN)
RCC_GENERIC_OPCODE(G_FATAN)
RCC_GENERIC_OPCODE(G_FATAN2)
RCC_GENERIC_OPCODE(G_FCOSH)
RCC_GENERIC_OPCODE(G_FSINH)
RCC_GENERIC_OPCODE(G_FTANH)
RCC_GENERIC_OPCODE(G_FSQRT)
RCC_GENERIC_OPCODE(G_FFLOOR)
RCC_GENERIC_OPCODE(G_FRINT)
RCC_GENERIC_OPCODE(G_FNEARBYINT)
RCC_GENERIC_OPCODE(G_ADDRSPACE_CAST)
RCC_GENERIC_OPCODE(G_BLOCK_ADDR)
RCC_GENERIC_OPCODE(G_JUMP_TABLE)
RCC_GENERIC_OPCODE(G_DYN_STACKALLOC)
RCC_GENERIC_OPCODE(G_STACKSAVE)
RCC_GENERIC_OPCODE(G_STACKRESTORE)
RCC_GENERIC_OPCODE(G_STRICT_FADD)
RCC_GENERIC_OPCODE(G_STRICT_FSUB)
RCC_GENERIC_OPCODE(G_STRICT_FMUL)
RCC_GENERIC_OPCODE(G_STRICT_FDIV)
RCC_GENERIC_OPCODE(G_STRICT_FREM)
RCC_GENERIC_OPCODE(G_STRICT_FMA)
RCC_GENERIC_OPCODE(G_STRICT_FSQRT)
RCC_GENERIC_OPCODE(G_STRICT_FLDEXP)
RCC_GENERIC_OPCODE(G_STRICT_FCMP)
RCC_GENERIC_OPCODE(G_STRICT_FCMPS)
RCC_GENERIC_OPCODE(G_READ_REGISTER)
RCC_GENERIC_OPCODE(G_WRITE_REGISTER)
RCC_GENERIC_OPCODE(G_MEMCPY)
RCC_GENERIC_OPCODE(G_MEMCPY_INLINE)
RCC_GENERIC_OPCODE(G_MEMMOVE)
RCC_GENERIC_OPCODE(G_MEMSET)
RCC_GENERIC_OPCODE(G_BZERO)
RCC_GENERIC_OPCODE(G_TRAP)
RCC_GENERIC_OPCODE(G_DEBUGTRAP)
RCC_GENERIC_OPCODE(G_UBSANTRAP)
RCC_GENERIC_OPCODE(G_VECREDUCE_SEQ_FADD)
RCC_GENERIC_OPCODE(G_VECREDUCE_SEQ_FMUL)
RCC_GENERIC_OPCODE(G_VECREDUCE_FADD)
RCC_GENERIC_OPCODE(G_VECREDUCE_FMUL)
RCC_GENERIC_OPCODE(G_VECREDUCE_FMAX)
RCC_GENERIC_OPCODE(G_VECREDUCE_FMIN)
RCC_GENERIC_OPCODE(G_VECREDUCE_FMAXIMUM)
RCC_GENERIC_OPCODE(G_VECREDUCE_FMINIMUM)
RCC_GENERIC_OPCODE(G_VECREDUCE_ADD)
RCC_GENERIC_OPCODE(G_VECREDUCE_MUL)
RCC_GENERIC_OPCODE(G_VECREDUCE_AND)
RCC_GENERIC_OPCODE(G_VECREDUCE_OR)
RCC_GENERIC_OPCODE(G_VECREDUCE_XOR)
RCC_GENERIC_OPCODE(G_VECREDUCE_SMAX)
RCC_GENERIC_OPCODE(G_VECREDUCE_SMIN)
RCC_GENERIC_OPCODE(G_VECREDUCE_UMAX)
RCC_GENERIC_OPCODE(G_VECREDUCE_UMIN)
RCC_GENERIC_OPCODE(G_SBFX)
RCC_GENERIC_OPCODE(G_UBFX)