@@ -45,6 +45,7 @@ endfilter: src1:i len:32
45
45
localloc: dest:i src1:i len:52
46
46
localloc_imm: dest:i len:28
47
47
generic_class_init: src1:a len:12 clob:c
48
+ ckfinite: dest:f src1:f len:28
48
49
break: len:4
49
50
50
51
throw: src1:i len:4
@@ -63,23 +64,30 @@ vcall2: len:16 clob:c
63
64
vcall2_reg: src1:i len:16 clob:c
64
65
vcall2_membase: src1:b len:28 clob:c
65
66
fcall: dest:f len:8 clob:c
66
- rcall: dest:f len:8 clob:c
67
- rcall_membase: dest:f src1:b len:12 clob:c
68
67
fcall_reg: dest:f src1:i len:8 clob:c
69
68
fcall_membase: dest:f src1:b len:12 clob:c
69
+ rcall: dest:f len:8 clob:c
70
+ rcall_reg: dest:f src1:i len:8 clob:c
71
+ rcall_membase: dest:f src1:b len:12 clob:c
70
72
71
73
# Note: in RV32, it shoule be
72
74
# lcall: dest:l ...
73
75
lcall: dest:a len:16 clob:c
76
+ lcall_reg: dest:a src1:i len:4 clob:c
74
77
lcall_membase: dest:a src1:b len:8 clob:c
75
78
79
+ tailcall_parameter: len:24
80
+ tailcall: len:60 clob:c
81
+ tailcall_membase: src1:b len:60 clob:c
82
+ tailcall_reg: src1:b len:60 clob:c
83
+
76
84
store_membase_reg: dest:b src1:i len:24
77
85
storei1_membase_reg: dest:b src1:i len:24
78
86
storei2_membase_reg: dest:b src1:i len:24
79
87
storei4_membase_reg: dest:b src1:i len:24
80
88
storei8_membase_reg: dest:b src1:i len:24
81
- storer4_membase_reg: dest:b src1:f len:4
82
- storer8_membase_reg: dest:b src1:f len:4
89
+ storer4_membase_reg: dest:b src1:f len:24
90
+ storer8_membase_reg: dest:b src1:f len:24
83
91
84
92
load_membase: dest:i src1:b len:24
85
93
loadu1_membase: dest:i src1:b len:24
@@ -89,18 +97,26 @@ loadi2_membase: dest:i src1:b len:24
89
97
loadu4_membase: dest:i src1:b len:24
90
98
loadi4_membase: dest:i src1:b len:24
91
99
loadi8_membase: dest:i src1:b len:24
92
- loadr4_membase: dest:f src1:b len:16
93
- loadr8_membase: dest:f src1:b len:16
100
+ loadr4_membase: dest:f src1:b len:24
101
+ loadr8_membase: dest:f src1:b len:24
94
102
95
103
memory_barrier: len:4
96
104
atomic_add_i4: dest:i src1:i src2:i len:4
97
105
atomic_add_i8: dest:i src1:i src2:i len:4
106
+ atomic_store_i1: dest:b src1:i len:8
98
107
atomic_store_u1: dest:b src1:i len:8
108
+ atomic_store_i2: dest:b src1:i len:8
109
+ atomic_store_u2: dest:b src1:i len:8
99
110
atomic_store_i4: dest:b src1:i len:8
100
- atomic_store_u8 : dest:b src1:i len:8
111
+ atomic_store_u4 : dest:b src1:i len:8
101
112
atomic_store_i8: dest:b src1:i len:8
113
+ atomic_store_u8: dest:b src1:i len:8
114
+ atomic_load_i1: dest:b src1:i len:12
102
115
atomic_load_u1: dest:b src1:i len:12
116
+ atomic_load_i2: dest:b src1:i len:12
117
+ atomic_load_u2: dest:b src1:i len:12
103
118
atomic_load_i4: dest:b src1:i len:12
119
+ atomic_load_u4: dest:b src1:i len:12
104
120
atomic_load_i8: dest:b src1:i len:12
105
121
atomic_load_u8: dest:b src1:i len:12
106
122
atomic_cas_i4: dest:i src1:i src2:i src3:i len:24
@@ -112,48 +128,65 @@ move: dest:i src1:i len:4
112
128
lmove: dest:i src1:i len:4
113
129
fmove: dest:f src1:f len:4
114
130
rmove: dest:f src1:f len:4
131
+ move_f_to_i4: dest:i src1:f len:4
132
+ move_i4_to_f: dest:f src1:i len:4
133
+ move_f_to_i8: dest:i src1:f len:4
134
+ move_i8_to_f: dest:f src1:i len:4
115
135
116
136
iconst: dest:i len:16
117
- i8const: dest:i len:16
118
137
int_add: dest:i src1:i src2:i len:4
119
- long_add: dest:i src1:i src2:i len:4
120
- float_add: dest:f src1:f src2:f len:4
121
138
int_sub: dest:i src1:i src2:i len:4
122
- long_sub: dest:i src1:i src2:i len:4
123
- float_sub: dest:f src1:f src2:f len:4
124
- float_neg: dest:f src1:f len:4
125
139
int_mul: dest:i src1:i src2:i len:4
126
- r4_mul: dest:f src1:f src2:f len:4
127
- long_mul: dest:i src1:i src2:i len:4
128
- float_mul: dest:f src1:f src2:f len:4
129
140
int_div: dest:i src1:i src2:i len:32
130
- long_div: dest:i src1:i src2:i len:32
131
141
int_div_un: dest:i src1:i src2:i len:32
132
- long_div_un: dest:i src1:i src2:i len:32
133
- r4_div: dest:f src1:f src2:f len:36
134
- float_div: dest:f src1:f src2:f len:36
135
142
int_rem: dest:i src1:i src2:i len:32
136
- long_rem: dest:i src1:i src2:i len:32
137
143
int_rem_un: dest:i src1:i src2:i len:32
144
+
145
+ i8const: dest:i len:16
146
+ long_add: dest:i src1:i src2:i len:4
147
+ long_sub: dest:i src1:i src2:i len:4
148
+ long_mul: dest:i src1:i src2:i len:4
149
+ long_div: dest:i src1:i src2:i len:32
150
+ long_div_un: dest:i src1:i src2:i len:32
151
+ long_rem: dest:i src1:i src2:i len:32
138
152
long_rem_un: dest:i src1:i src2:i len:32
139
153
140
- r4const: dest:f len:16
141
154
r8const: dest:f len:16
155
+ float_neg: dest:f src1:f len:4
156
+ float_add: dest:f src1:f src2:f len:4
157
+ float_sub: dest:f src1:f src2:f len:4
158
+ float_mul: dest:f src1:f src2:f len:4
159
+ float_div: dest:f src1:f src2:f len:36
160
+
161
+ r4const: dest:f len:16
162
+ r4_neg: dest:f src1:f len:4
163
+ r4_add: dest:f src1:f src2:f len:4
164
+ r4_sub: dest:f src1:f src2:f len:4
165
+ r4_mul: dest:f src1:f src2:f len:4
166
+ r4_div: dest:f src1:f src2:f len:36
167
+
168
+
142
169
int_conv_to_r4: dest:f src1:i len:4
143
170
int_conv_to_r8: dest:f src1:i len:4
144
171
r4_conv_to_i8: dest:i src1:f len:4
145
172
r4_conv_to_r8: dest:f src1:f len:4
146
173
r4_conv_to_i4: dest:i src1:f len:4
174
+ r4_conv_to_u4: dest:i src1:f len:4
175
+ r4_conv_to_u8: dest:i src1:f len:4
147
176
float_conv_to_i4: dest:i src1:f len:4
177
+ float_conv_to_u4: dest:i src1:f len:4
148
178
float_conv_to_r4: dest:f src1:f len:4
149
179
float_conv_to_i8: dest:i src1:f len:4
180
+ float_conv_to_u8: dest:i src1:f len:4
181
+
182
+ r4_ceq: dest:i src1:f src2:f len:4
183
+ r4_clt: dest:i src1:f src2:f len:4
184
+ r4_clt_un: dest:i src1:f src2:f len:4
185
+ r4_cle: dest:i src1:f src2:f len:4
150
186
float_ceq: dest:i src1:f src2:f len:4
151
187
float_cle: dest:i src1:f src2:f len:4
152
188
float_clt: dest:i src1:f src2:f len:4
153
189
float_clt_un: dest:i src1:f src2:f len:4
154
- r4_clt: dest:i src1:f src2:f len:4
155
- r4_clt_un: dest:i src1:f src2:f len:4
156
- r4_cle: dest:i src1:f src2:f len:4
157
190
158
191
add_imm: dest:i src1:i len:4
159
192
int_add_imm: dest:i src1:i len:4
@@ -182,27 +215,31 @@ long_and: dest:i src1:i src2:i len:4
182
215
long_and_imm: dest:i src1:i len:4
183
216
long_or: dest:i src1:i src2:i len:4
184
217
long_xor: dest:i src1:i src2:i len:4
218
+ long_xor_imm: dest:i src1:i len:4
185
219
long_or_imm: dest:i src1:i len:4
186
220
long_shl: dest:i src1:i src2:i len:4
187
221
long_shl_imm: dest:i src1:i len:4
222
+ long_shr: dest:i src1:i src2:i len:4
188
223
long_shr_un: dest:i src1:i src2:i len:4
189
224
long_shr_imm: dest:i src1:i len:4
190
225
long_shr_un_imm: dest:i src1:i len:4
191
226
192
227
193
228
riscv_setfreg_r4: dest:f src1:f len:4
229
+ riscv_float_bnan: src1:f len:16
230
+ riscv_r4_bnan: src1:f len:16
194
231
195
232
riscv_beq: src1:i src2:i len:8
196
233
riscv_bne: src1:i src2:i len:8
197
234
riscv_bge: src1:i src2:i len:8
198
235
riscv_bgeu: src1:i src2:i len:8
199
236
riscv_blt: src1:i src2:i len:8
200
237
riscv_bltu: src1:i src2:i len:8
201
- riscv_exc_beq: src1:i src2:i len:12
202
- riscv_exc_bne: src1:i src2:i len:12
203
- riscv_exc_bgeu: src1:i src2:i len:12
204
- riscv_exc_blt: src1:i src2:i len:12
205
- riscv_exc_bltu: src1:i src2:i len:12
238
+ riscv_exc_beq: src1:i src2:i len:16
239
+ riscv_exc_bne: src1:i src2:i len:16
240
+ riscv_exc_bgeu: src1:i src2:i len:16
241
+ riscv_exc_blt: src1:i src2:i len:16
242
+ riscv_exc_bltu: src1:i src2:i len:16
206
243
riscv_slt: dest:i src1:i src2:i len:4
207
244
riscv_sltu: dest:i src1:i src2:i len:4
208
245
riscv_slti: dest:i src1:i len:4
0 commit comments