aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Target/RISCV/RISCVInstrInfoM.rccdesc
blob: 62e8e6cb68aef9eebc260aa542ea4e93ff73cdb4 (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
instructions:
  -
    id: 1083
    symbol: MUL
    name: MUL
    assembly_mnemonic: mul
    encoding: 44336179
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code, commutable]
    scheduling_class: MUL
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1084
    symbol: MULH
    name: MULH
    assembly_mnemonic: mulh
    encoding: 44340275
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code, commutable]
    scheduling_class: MUL
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1085
    symbol: MULHSU
    name: MULHSU
    assembly_mnemonic: mulhsu
    encoding: 44344371
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code]
    scheduling_class: MUL
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1086
    symbol: MULHU
    name: MULHU
    assembly_mnemonic: mulhu
    encoding: 44348467
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code, commutable]
    scheduling_class: MUL
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1087
    symbol: DIV
    name: DIV
    assembly_mnemonic: div
    encoding: 44352563
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code]
    scheduling_class: DIV
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1088
    symbol: DIVU
    name: DIVU
    assembly_mnemonic: divu
    encoding: 44356659
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code]
    scheduling_class: DIV
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1089
    symbol: REM
    name: REM
    assembly_mnemonic: rem
    encoding: 44360755
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code]
    scheduling_class: DIV
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1090
    symbol: REMU
    name: REMU
    assembly_mnemonic: remu
    encoding: 44364851
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code]
    scheduling_class: DIV
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1091
    symbol: MULW
    name: MULW
    assembly_mnemonic: mulw
    encoding: 44336187
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code, commutable]
    scheduling_class: MUL
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1092
    symbol: DIVW
    name: DIVW
    assembly_mnemonic: divw
    encoding: 44352571
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code]
    scheduling_class: DIV
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1093
    symbol: DIVUW
    name: DIVUW
    assembly_mnemonic: divuw
    encoding: 44356667
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code]
    scheduling_class: DIV
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1094
    symbol: REMW
    name: REMW
    assembly_mnemonic: remw
    encoding: 44360763
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code]
    scheduling_class: DIV
    encoding_category: R
    assembly_format: RD_RS1_RS2
  -
    id: 1095
    symbol: REMUW
    name: REMUW
    assembly_mnemonic: remuw
    encoding: 44364859
    operands:
      - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 }
      - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 }
    num_explicit_defs: 1
    flags: [produces_code]
    scheduling_class: DIV
    encoding_category: R
    assembly_format: RD_RS1_RS2