aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Target/RISCV/RISCVInstrInfoA.rccdesc
blob: c954f8e1814026047d4117bfc2cb564afc95936b (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
instructions:
  -
    id: 1096
    symbol: LR_W
    name: LR_W
    assembly_mnemonic: lr.w
    encoding: 268739631
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_PAREN_RS1
  -
    id: 1097
    symbol: SC_W
    name: SC_W
    assembly_mnemonic: sc.w
    encoding: 413443119
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1098
    symbol: AMOSWAP_W
    name: AMOSWAP_W
    assembly_mnemonic: amoswap.w
    encoding: 145007663
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1099
    symbol: AMOADD_W
    name: AMOADD_W
    assembly_mnemonic: amoadd.w
    encoding: 10789935
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1100
    symbol: AMOXOR_W
    name: AMOXOR_W
    assembly_mnemonic: amoxor.w
    encoding: 547660847
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1101
    symbol: AMOAND_W
    name: AMOAND_W
    assembly_mnemonic: amoand.w
    encoding: 1621402671
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1102
    symbol: AMOOR_W
    name: AMOOR_W
    assembly_mnemonic: amoor.w
    encoding: 1084531759
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1103
    symbol: AMOMIN_W
    name: AMOMIN_W
    assembly_mnemonic: amomin.w
    encoding: 2158273583
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1104
    symbol: AMOMAX_W
    name: AMOMAX_W
    assembly_mnemonic: amomax.w
    encoding: 2695144495
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1105
    symbol: AMOMINU_W
    name: AMOMINU_W
    assembly_mnemonic: amominu.w
    encoding: 3232015407
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1106
    symbol: AMOMAXU_W
    name: AMOMAXU_W
    assembly_mnemonic: amomaxu.w
    encoding: 3768886319
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1107
    symbol: LR_D
    name: LR_D
    assembly_mnemonic: lr.d
    encoding: 268743727
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_PAREN_RS1
  -
    id: 1108
    symbol: SC_D
    name: SC_D
    assembly_mnemonic: sc.d
    encoding: 413447215
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1109
    symbol: AMOSWAP_D
    name: AMOSWAP_D
    assembly_mnemonic: amoswap.d
    encoding: 145011759
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1110
    symbol: AMOADD_D
    name: AMOADD_D
    assembly_mnemonic: amoadd.d
    encoding: 10794031
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1111
    symbol: AMOXOR_D
    name: AMOXOR_D
    assembly_mnemonic: amoxor.d
    encoding: 547664943
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1112
    symbol: AMOAND_D
    name: AMOAND_D
    assembly_mnemonic: amoand.d
    encoding: 1621406767
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1113
    symbol: AMOOR_D
    name: AMOOR_D
    assembly_mnemonic: amoor.d
    encoding: 1084535855
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1114
    symbol: AMOMIN_D
    name: AMOMIN_D
    assembly_mnemonic: amomin.d
    encoding: 2158277679
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1115
    symbol: AMOMAX_D
    name: AMOMAX_D
    assembly_mnemonic: amomax.d
    encoding: 2695148591
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1116
    symbol: AMOMINU_D
    name: AMOMINU_D
    assembly_mnemonic: amominu.d
    encoding: 3232019503
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1
  -
    id: 1117
    symbol: AMOMAXU_D
    name: AMOMAXU_D
    assembly_mnemonic: amomaxu.d
    encoding: 3768890415
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 }
    num_explicit_defs: 1
    flags: [may_load, may_store, produces_code]
    scheduling_class: ATOMIC
    encoding_category: AMO
    assembly_format: RD_RS2_PAREN_RS1