]>
Commit | Line | Data |
---|---|---|
2a53cff4 BK |
1 | # |
2 | # RISC-V translation routines for the RVXI Base Integer Instruction Set. | |
3 | # | |
4 | # Copyright (c) 2018 Peer Adelt, peer.adelt@hni.uni-paderborn.de | |
5 | # Bastian Koppelmann, kbastian@mail.uni-paderborn.de | |
6 | # | |
7 | # This program is free software; you can redistribute it and/or modify it | |
8 | # under the terms and conditions of the GNU General Public License, | |
9 | # version 2 or later, as published by the Free Software Foundation. | |
10 | # | |
11 | # This program is distributed in the hope it will be useful, but WITHOUT | |
12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
14 | # more details. | |
15 | # | |
16 | # You should have received a copy of the GNU General Public License along with | |
17 | # this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | ||
19 | # Fields: | |
6f0e74ff | 20 | %rs3 27:5 |
3cca75a6 BK |
21 | %rs2 20:5 |
22 | %rs1 15:5 | |
2a53cff4 BK |
23 | %rd 7:5 |
24 | ||
b73a987b | 25 | %sh10 20:10 |
771fbe15 | 26 | %csr 20:12 |
6f0e74ff | 27 | %rm 12:3 |
751538d5 | 28 | %nf 29:3 !function=ex_plus_1 |
b73a987b | 29 | |
2a53cff4 | 30 | # immediates: |
3cca75a6 | 31 | %imm_i 20:s12 |
c1000d4e | 32 | %imm_s 25:s7 7:5 |
3cca75a6 BK |
33 | %imm_b 31:s1 7:1 25:6 8:4 !function=ex_shift_1 |
34 | %imm_j 31:s1 12:8 20:1 21:10 !function=ex_shift_1 | |
2a53cff4 BK |
35 | %imm_u 12:s20 !function=ex_shift_12 |
36 | ||
3cca75a6 | 37 | # Argument sets: |
e7617997 | 38 | &empty |
3cca75a6 | 39 | &b imm rs2 rs1 |
7a50d3e2 | 40 | &i imm rs1 rd |
e7617997 | 41 | &j imm rd |
f2ab1728 | 42 | &r rd rs1 rs2 |
e7617997 RH |
43 | &s imm rs1 rs2 |
44 | &u imm rd | |
b73a987b | 45 | &shift shamt rs1 rd |
3b77c289 | 46 | &atomic aq rl rs2 rs1 rd |
43740e3a | 47 | &rmrr vm rd rs1 rs2 |
268fcca6 | 48 | &rwdvm vm wd rd rs1 rs2 |
751538d5 LZ |
49 | &r2nfvm vm rd rs1 nf |
50 | &rnfvm vm rd rs1 rs2 nf | |
3cca75a6 | 51 | |
2a53cff4 | 52 | # Formats 32: |
f2ab1728 | 53 | @r ....... ..... ..... ... ..... ....... &r %rs2 %rs1 %rd |
7a50d3e2 | 54 | @i ............ ..... ... ..... ....... &i imm=%imm_i %rs1 %rd |
3cca75a6 | 55 | @b ....... ..... ..... ... ..... ....... &b imm=%imm_b %rs2 %rs1 |
e7617997 RH |
56 | @s ....... ..... ..... ... ..... ....... &s imm=%imm_s %rs2 %rs1 |
57 | @u .................... ..... ....... &u imm=%imm_u %rd | |
58 | @j .................... ..... ....... &j imm=%imm_j %rd | |
2a53cff4 | 59 | |
b73a987b | 60 | @sh ...... ...... ..... ... ..... ....... &shift shamt=%sh10 %rs1 %rd |
771fbe15 | 61 | @csr ............ ..... ... ..... ....... %csr %rs1 %rd |
b73a987b | 62 | |
3b77c289 BK |
63 | @atom_ld ..... aq:1 rl:1 ..... ........ ..... ....... &atomic rs2=0 %rs1 %rd |
64 | @atom_st ..... aq:1 rl:1 ..... ........ ..... ....... &atomic %rs2 %rs1 %rd | |
65 | ||
6f0e74ff BK |
66 | @r4_rm ..... .. ..... ..... ... ..... ....... %rs3 %rs2 %rs1 %rm %rd |
67 | @r_rm ....... ..... ..... ... ..... ....... %rs2 %rs1 %rm %rd | |
68 | @r2_rm ....... ..... ..... ... ..... ....... %rs1 %rm %rd | |
69 | @r2 ....... ..... ..... ... ..... ....... %rs1 %rd | |
751538d5 LZ |
70 | @r2_nfvm ... ... vm:1 ..... ..... ... ..... ....... &r2nfvm %nf %rs1 %rd |
71 | @r_nfvm ... ... vm:1 ..... ..... ... ..... ....... &rnfvm %nf %rs2 %rs1 %rd | |
43740e3a | 72 | @r_vm ...... vm:1 ..... ..... ... ..... ....... &rmrr %rs2 %rs1 %rd |
3a6f8f68 | 73 | @r_vm_1 ...... . ..... ..... ... ..... ....... &rmrr vm=1 %rs2 %rs1 %rd |
268fcca6 | 74 | @r_wdvm ..... wd:1 vm:1 ..... ..... ... ..... ....... &rwdvm %rs2 %rs1 %rd |
2b7168fc | 75 | @r2_zimm . zimm:11 ..... ... ..... ....... %rs1 %rd |
6f0e74ff | 76 | |
895c412c | 77 | @hfence_gvma ....... ..... ..... ... ..... ....... %rs2 %rs1 |
b8429ded | 78 | @hfence_vvma ....... ..... ..... ... ..... ....... %rs2 %rs1 |
895c412c | 79 | |
4ba79c47 BK |
80 | @sfence_vma ....... ..... ..... ... ..... ....... %rs2 %rs1 |
81 | @sfence_vm ....... ..... ..... ... ..... ....... %rs1 | |
82 | ||
83 | ||
84 | # *** Privileged Instructions *** | |
895c412c AF |
85 | ecall 000000000000 00000 000 00000 1110011 |
86 | ebreak 000000000001 00000 000 00000 1110011 | |
87 | uret 0000000 00010 00000 000 00000 1110011 | |
88 | sret 0001000 00010 00000 000 00000 1110011 | |
895c412c AF |
89 | mret 0011000 00010 00000 000 00000 1110011 |
90 | wfi 0001000 00101 00000 000 00000 1110011 | |
895c412c AF |
91 | sfence_vma 0001001 ..... ..... 000 00000 1110011 @sfence_vma |
92 | sfence_vm 0001000 00100 ..... 000 00000 1110011 @sfence_vm | |
4ba79c47 | 93 | |
2a53cff4 BK |
94 | # *** RV32I Base Instruction Set *** |
95 | lui .................... ..... 0110111 @u | |
96 | auipc .................... ..... 0010111 @u | |
3cca75a6 BK |
97 | jal .................... ..... 1101111 @j |
98 | jalr ............ ..... 000 ..... 1100111 @i | |
99 | beq ....... ..... ..... 000 ..... 1100011 @b | |
100 | bne ....... ..... ..... 001 ..... 1100011 @b | |
101 | blt ....... ..... ..... 100 ..... 1100011 @b | |
102 | bge ....... ..... ..... 101 ..... 1100011 @b | |
103 | bltu ....... ..... ..... 110 ..... 1100011 @b | |
104 | bgeu ....... ..... ..... 111 ..... 1100011 @b | |
c1000d4e BK |
105 | lb ............ ..... 000 ..... 0000011 @i |
106 | lh ............ ..... 001 ..... 0000011 @i | |
107 | lw ............ ..... 010 ..... 0000011 @i | |
108 | lbu ............ ..... 100 ..... 0000011 @i | |
109 | lhu ............ ..... 101 ..... 0000011 @i | |
110 | sb ....... ..... ..... 000 ..... 0100011 @s | |
111 | sh ....... ..... ..... 001 ..... 0100011 @s | |
112 | sw ....... ..... ..... 010 ..... 0100011 @s | |
b73a987b BK |
113 | addi ............ ..... 000 ..... 0010011 @i |
114 | slti ............ ..... 010 ..... 0010011 @i | |
115 | sltiu ............ ..... 011 ..... 0010011 @i | |
116 | xori ............ ..... 100 ..... 0010011 @i | |
117 | ori ............ ..... 110 ..... 0010011 @i | |
118 | andi ............ ..... 111 ..... 0010011 @i | |
119 | slli 00.... ...... ..... 001 ..... 0010011 @sh | |
120 | srli 00.... ...... ..... 101 ..... 0010011 @sh | |
121 | srai 01.... ...... ..... 101 ..... 0010011 @sh | |
122 | add 0000000 ..... ..... 000 ..... 0110011 @r | |
123 | sub 0100000 ..... ..... 000 ..... 0110011 @r | |
124 | sll 0000000 ..... ..... 001 ..... 0110011 @r | |
125 | slt 0000000 ..... ..... 010 ..... 0110011 @r | |
126 | sltu 0000000 ..... ..... 011 ..... 0110011 @r | |
127 | xor 0000000 ..... ..... 100 ..... 0110011 @r | |
128 | srl 0000000 ..... ..... 101 ..... 0110011 @r | |
129 | sra 0100000 ..... ..... 101 ..... 0110011 @r | |
130 | or 0000000 ..... ..... 110 ..... 0110011 @r | |
131 | and 0000000 ..... ..... 111 ..... 0110011 @r | |
0c865e85 BK |
132 | fence ---- pred:4 succ:4 ----- 000 ----- 0001111 |
133 | fence_i ---- ---- ---- ----- 001 ----- 0001111 | |
771fbe15 BK |
134 | csrrw ............ ..... 001 ..... 1110011 @csr |
135 | csrrs ............ ..... 010 ..... 1110011 @csr | |
136 | csrrc ............ ..... 011 ..... 1110011 @csr | |
137 | csrrwi ............ ..... 101 ..... 1110011 @csr | |
138 | csrrsi ............ ..... 110 ..... 1110011 @csr | |
139 | csrrci ............ ..... 111 ..... 1110011 @csr | |
d2e2c1e4 BK |
140 | |
141 | # *** RV32M Standard Extension *** | |
142 | mul 0000001 ..... ..... 000 ..... 0110011 @r | |
143 | mulh 0000001 ..... ..... 001 ..... 0110011 @r | |
144 | mulhsu 0000001 ..... ..... 010 ..... 0110011 @r | |
145 | mulhu 0000001 ..... ..... 011 ..... 0110011 @r | |
146 | div 0000001 ..... ..... 100 ..... 0110011 @r | |
147 | divu 0000001 ..... ..... 101 ..... 0110011 @r | |
148 | rem 0000001 ..... ..... 110 ..... 0110011 @r | |
149 | remu 0000001 ..... ..... 111 ..... 0110011 @r | |
3b77c289 BK |
150 | |
151 | # *** RV32A Standard Extension *** | |
152 | lr_w 00010 . . 00000 ..... 010 ..... 0101111 @atom_ld | |
153 | sc_w 00011 . . ..... ..... 010 ..... 0101111 @atom_st | |
154 | amoswap_w 00001 . . ..... ..... 010 ..... 0101111 @atom_st | |
155 | amoadd_w 00000 . . ..... ..... 010 ..... 0101111 @atom_st | |
156 | amoxor_w 00100 . . ..... ..... 010 ..... 0101111 @atom_st | |
157 | amoand_w 01100 . . ..... ..... 010 ..... 0101111 @atom_st | |
158 | amoor_w 01000 . . ..... ..... 010 ..... 0101111 @atom_st | |
159 | amomin_w 10000 . . ..... ..... 010 ..... 0101111 @atom_st | |
160 | amomax_w 10100 . . ..... ..... 010 ..... 0101111 @atom_st | |
161 | amominu_w 11000 . . ..... ..... 010 ..... 0101111 @atom_st | |
162 | amomaxu_w 11100 . . ..... ..... 010 ..... 0101111 @atom_st | |
6f0e74ff BK |
163 | |
164 | # *** RV32F Standard Extension *** | |
165 | flw ............ ..... 010 ..... 0000111 @i | |
166 | fsw ....... ..... ..... 010 ..... 0100111 @s | |
167 | fmadd_s ..... 00 ..... ..... ... ..... 1000011 @r4_rm | |
168 | fmsub_s ..... 00 ..... ..... ... ..... 1000111 @r4_rm | |
169 | fnmsub_s ..... 00 ..... ..... ... ..... 1001011 @r4_rm | |
170 | fnmadd_s ..... 00 ..... ..... ... ..... 1001111 @r4_rm | |
171 | fadd_s 0000000 ..... ..... ... ..... 1010011 @r_rm | |
172 | fsub_s 0000100 ..... ..... ... ..... 1010011 @r_rm | |
173 | fmul_s 0001000 ..... ..... ... ..... 1010011 @r_rm | |
174 | fdiv_s 0001100 ..... ..... ... ..... 1010011 @r_rm | |
175 | fsqrt_s 0101100 00000 ..... ... ..... 1010011 @r2_rm | |
176 | fsgnj_s 0010000 ..... ..... 000 ..... 1010011 @r | |
177 | fsgnjn_s 0010000 ..... ..... 001 ..... 1010011 @r | |
178 | fsgnjx_s 0010000 ..... ..... 010 ..... 1010011 @r | |
179 | fmin_s 0010100 ..... ..... 000 ..... 1010011 @r | |
180 | fmax_s 0010100 ..... ..... 001 ..... 1010011 @r | |
181 | fcvt_w_s 1100000 00000 ..... ... ..... 1010011 @r2_rm | |
182 | fcvt_wu_s 1100000 00001 ..... ... ..... 1010011 @r2_rm | |
183 | fmv_x_w 1110000 00000 ..... 000 ..... 1010011 @r2 | |
184 | feq_s 1010000 ..... ..... 010 ..... 1010011 @r | |
185 | flt_s 1010000 ..... ..... 001 ..... 1010011 @r | |
186 | fle_s 1010000 ..... ..... 000 ..... 1010011 @r | |
187 | fclass_s 1110000 00000 ..... 001 ..... 1010011 @r2 | |
188 | fcvt_s_w 1101000 00000 ..... ... ..... 1010011 @r2_rm | |
189 | fcvt_s_wu 1101000 00001 ..... ... ..... 1010011 @r2_rm | |
190 | fmv_w_x 1111000 00000 ..... 000 ..... 1010011 @r2 | |
97f8b493 BK |
191 | |
192 | # *** RV32D Standard Extension *** | |
193 | fld ............ ..... 011 ..... 0000111 @i | |
194 | fsd ....... ..... ..... 011 ..... 0100111 @s | |
195 | fmadd_d ..... 01 ..... ..... ... ..... 1000011 @r4_rm | |
196 | fmsub_d ..... 01 ..... ..... ... ..... 1000111 @r4_rm | |
197 | fnmsub_d ..... 01 ..... ..... ... ..... 1001011 @r4_rm | |
198 | fnmadd_d ..... 01 ..... ..... ... ..... 1001111 @r4_rm | |
199 | fadd_d 0000001 ..... ..... ... ..... 1010011 @r_rm | |
200 | fsub_d 0000101 ..... ..... ... ..... 1010011 @r_rm | |
201 | fmul_d 0001001 ..... ..... ... ..... 1010011 @r_rm | |
202 | fdiv_d 0001101 ..... ..... ... ..... 1010011 @r_rm | |
203 | fsqrt_d 0101101 00000 ..... ... ..... 1010011 @r2_rm | |
204 | fsgnj_d 0010001 ..... ..... 000 ..... 1010011 @r | |
205 | fsgnjn_d 0010001 ..... ..... 001 ..... 1010011 @r | |
206 | fsgnjx_d 0010001 ..... ..... 010 ..... 1010011 @r | |
207 | fmin_d 0010101 ..... ..... 000 ..... 1010011 @r | |
208 | fmax_d 0010101 ..... ..... 001 ..... 1010011 @r | |
209 | fcvt_s_d 0100000 00001 ..... ... ..... 1010011 @r2_rm | |
210 | fcvt_d_s 0100001 00000 ..... ... ..... 1010011 @r2_rm | |
211 | feq_d 1010001 ..... ..... 010 ..... 1010011 @r | |
212 | flt_d 1010001 ..... ..... 001 ..... 1010011 @r | |
213 | fle_d 1010001 ..... ..... 000 ..... 1010011 @r | |
214 | fclass_d 1110001 00000 ..... 001 ..... 1010011 @r2 | |
215 | fcvt_w_d 1100001 00000 ..... ... ..... 1010011 @r2_rm | |
216 | fcvt_wu_d 1100001 00001 ..... ... ..... 1010011 @r2_rm | |
217 | fcvt_d_w 1101001 00000 ..... ... ..... 1010011 @r2_rm | |
218 | fcvt_d_wu 1101001 00001 ..... ... ..... 1010011 @r2_rm | |
b8429ded AF |
219 | |
220 | # *** RV32H Base Instruction Set *** | |
221 | hfence_gvma 0110001 ..... ..... 000 00000 1110011 @hfence_gvma | |
222 | hfence_vvma 0010001 ..... ..... 000 00000 1110011 @hfence_vvma | |
2b7168fc LZ |
223 | |
224 | # *** RV32V Extension *** | |
751538d5 LZ |
225 | |
226 | # *** Vector loads and stores are encoded within LOADFP/STORE-FP *** | |
227 | vlb_v ... 100 . 00000 ..... 000 ..... 0000111 @r2_nfvm | |
228 | vlh_v ... 100 . 00000 ..... 101 ..... 0000111 @r2_nfvm | |
229 | vlw_v ... 100 . 00000 ..... 110 ..... 0000111 @r2_nfvm | |
230 | vle_v ... 000 . 00000 ..... 111 ..... 0000111 @r2_nfvm | |
231 | vlbu_v ... 000 . 00000 ..... 000 ..... 0000111 @r2_nfvm | |
232 | vlhu_v ... 000 . 00000 ..... 101 ..... 0000111 @r2_nfvm | |
233 | vlwu_v ... 000 . 00000 ..... 110 ..... 0000111 @r2_nfvm | |
022b4ecf LZ |
234 | vlbff_v ... 100 . 10000 ..... 000 ..... 0000111 @r2_nfvm |
235 | vlhff_v ... 100 . 10000 ..... 101 ..... 0000111 @r2_nfvm | |
236 | vlwff_v ... 100 . 10000 ..... 110 ..... 0000111 @r2_nfvm | |
237 | vleff_v ... 000 . 10000 ..... 111 ..... 0000111 @r2_nfvm | |
238 | vlbuff_v ... 000 . 10000 ..... 000 ..... 0000111 @r2_nfvm | |
239 | vlhuff_v ... 000 . 10000 ..... 101 ..... 0000111 @r2_nfvm | |
240 | vlwuff_v ... 000 . 10000 ..... 110 ..... 0000111 @r2_nfvm | |
751538d5 LZ |
241 | vsb_v ... 000 . 00000 ..... 000 ..... 0100111 @r2_nfvm |
242 | vsh_v ... 000 . 00000 ..... 101 ..... 0100111 @r2_nfvm | |
243 | vsw_v ... 000 . 00000 ..... 110 ..... 0100111 @r2_nfvm | |
244 | vse_v ... 000 . 00000 ..... 111 ..... 0100111 @r2_nfvm | |
245 | ||
246 | vlsb_v ... 110 . ..... ..... 000 ..... 0000111 @r_nfvm | |
247 | vlsh_v ... 110 . ..... ..... 101 ..... 0000111 @r_nfvm | |
248 | vlsw_v ... 110 . ..... ..... 110 ..... 0000111 @r_nfvm | |
249 | vlse_v ... 010 . ..... ..... 111 ..... 0000111 @r_nfvm | |
250 | vlsbu_v ... 010 . ..... ..... 000 ..... 0000111 @r_nfvm | |
251 | vlshu_v ... 010 . ..... ..... 101 ..... 0000111 @r_nfvm | |
252 | vlswu_v ... 010 . ..... ..... 110 ..... 0000111 @r_nfvm | |
253 | vssb_v ... 010 . ..... ..... 000 ..... 0100111 @r_nfvm | |
254 | vssh_v ... 010 . ..... ..... 101 ..... 0100111 @r_nfvm | |
255 | vssw_v ... 010 . ..... ..... 110 ..... 0100111 @r_nfvm | |
256 | vsse_v ... 010 . ..... ..... 111 ..... 0100111 @r_nfvm | |
257 | ||
f732560e LZ |
258 | vlxb_v ... 111 . ..... ..... 000 ..... 0000111 @r_nfvm |
259 | vlxh_v ... 111 . ..... ..... 101 ..... 0000111 @r_nfvm | |
260 | vlxw_v ... 111 . ..... ..... 110 ..... 0000111 @r_nfvm | |
261 | vlxe_v ... 011 . ..... ..... 111 ..... 0000111 @r_nfvm | |
262 | vlxbu_v ... 011 . ..... ..... 000 ..... 0000111 @r_nfvm | |
263 | vlxhu_v ... 011 . ..... ..... 101 ..... 0000111 @r_nfvm | |
264 | vlxwu_v ... 011 . ..... ..... 110 ..... 0000111 @r_nfvm | |
265 | # Vector ordered-indexed and unordered-indexed store insns. | |
266 | vsxb_v ... -11 . ..... ..... 000 ..... 0100111 @r_nfvm | |
267 | vsxh_v ... -11 . ..... ..... 101 ..... 0100111 @r_nfvm | |
268 | vsxw_v ... -11 . ..... ..... 110 ..... 0100111 @r_nfvm | |
269 | vsxe_v ... -11 . ..... ..... 111 ..... 0100111 @r_nfvm | |
270 | ||
268fcca6 LZ |
271 | #*** Vector AMO operations are encoded under the standard AMO major opcode *** |
272 | vamoswapw_v 00001 . . ..... ..... 110 ..... 0101111 @r_wdvm | |
273 | vamoaddw_v 00000 . . ..... ..... 110 ..... 0101111 @r_wdvm | |
274 | vamoxorw_v 00100 . . ..... ..... 110 ..... 0101111 @r_wdvm | |
275 | vamoandw_v 01100 . . ..... ..... 110 ..... 0101111 @r_wdvm | |
276 | vamoorw_v 01000 . . ..... ..... 110 ..... 0101111 @r_wdvm | |
277 | vamominw_v 10000 . . ..... ..... 110 ..... 0101111 @r_wdvm | |
278 | vamomaxw_v 10100 . . ..... ..... 110 ..... 0101111 @r_wdvm | |
279 | vamominuw_v 11000 . . ..... ..... 110 ..... 0101111 @r_wdvm | |
280 | vamomaxuw_v 11100 . . ..... ..... 110 ..... 0101111 @r_wdvm | |
281 | ||
751538d5 | 282 | # *** new major opcode OP-V *** |
43740e3a LZ |
283 | vadd_vv 000000 . ..... ..... 000 ..... 1010111 @r_vm |
284 | vadd_vx 000000 . ..... ..... 100 ..... 1010111 @r_vm | |
285 | vadd_vi 000000 . ..... ..... 011 ..... 1010111 @r_vm | |
286 | vsub_vv 000010 . ..... ..... 000 ..... 1010111 @r_vm | |
287 | vsub_vx 000010 . ..... ..... 100 ..... 1010111 @r_vm | |
288 | vrsub_vx 000011 . ..... ..... 100 ..... 1010111 @r_vm | |
289 | vrsub_vi 000011 . ..... ..... 011 ..... 1010111 @r_vm | |
8fcdf776 LZ |
290 | vwaddu_vv 110000 . ..... ..... 010 ..... 1010111 @r_vm |
291 | vwaddu_vx 110000 . ..... ..... 110 ..... 1010111 @r_vm | |
292 | vwadd_vv 110001 . ..... ..... 010 ..... 1010111 @r_vm | |
293 | vwadd_vx 110001 . ..... ..... 110 ..... 1010111 @r_vm | |
294 | vwsubu_vv 110010 . ..... ..... 010 ..... 1010111 @r_vm | |
295 | vwsubu_vx 110010 . ..... ..... 110 ..... 1010111 @r_vm | |
296 | vwsub_vv 110011 . ..... ..... 010 ..... 1010111 @r_vm | |
297 | vwsub_vx 110011 . ..... ..... 110 ..... 1010111 @r_vm | |
298 | vwaddu_wv 110100 . ..... ..... 010 ..... 1010111 @r_vm | |
299 | vwaddu_wx 110100 . ..... ..... 110 ..... 1010111 @r_vm | |
300 | vwadd_wv 110101 . ..... ..... 010 ..... 1010111 @r_vm | |
301 | vwadd_wx 110101 . ..... ..... 110 ..... 1010111 @r_vm | |
302 | vwsubu_wv 110110 . ..... ..... 010 ..... 1010111 @r_vm | |
303 | vwsubu_wx 110110 . ..... ..... 110 ..... 1010111 @r_vm | |
304 | vwsub_wv 110111 . ..... ..... 010 ..... 1010111 @r_vm | |
305 | vwsub_wx 110111 . ..... ..... 110 ..... 1010111 @r_vm | |
3a6f8f68 LZ |
306 | vadc_vvm 010000 1 ..... ..... 000 ..... 1010111 @r_vm_1 |
307 | vadc_vxm 010000 1 ..... ..... 100 ..... 1010111 @r_vm_1 | |
308 | vadc_vim 010000 1 ..... ..... 011 ..... 1010111 @r_vm_1 | |
309 | vmadc_vvm 010001 1 ..... ..... 000 ..... 1010111 @r_vm_1 | |
310 | vmadc_vxm 010001 1 ..... ..... 100 ..... 1010111 @r_vm_1 | |
311 | vmadc_vim 010001 1 ..... ..... 011 ..... 1010111 @r_vm_1 | |
312 | vsbc_vvm 010010 1 ..... ..... 000 ..... 1010111 @r_vm_1 | |
313 | vsbc_vxm 010010 1 ..... ..... 100 ..... 1010111 @r_vm_1 | |
314 | vmsbc_vvm 010011 1 ..... ..... 000 ..... 1010111 @r_vm_1 | |
315 | vmsbc_vxm 010011 1 ..... ..... 100 ..... 1010111 @r_vm_1 | |
d3842924 LZ |
316 | vand_vv 001001 . ..... ..... 000 ..... 1010111 @r_vm |
317 | vand_vx 001001 . ..... ..... 100 ..... 1010111 @r_vm | |
318 | vand_vi 001001 . ..... ..... 011 ..... 1010111 @r_vm | |
319 | vor_vv 001010 . ..... ..... 000 ..... 1010111 @r_vm | |
320 | vor_vx 001010 . ..... ..... 100 ..... 1010111 @r_vm | |
321 | vor_vi 001010 . ..... ..... 011 ..... 1010111 @r_vm | |
322 | vxor_vv 001011 . ..... ..... 000 ..... 1010111 @r_vm | |
323 | vxor_vx 001011 . ..... ..... 100 ..... 1010111 @r_vm | |
324 | vxor_vi 001011 . ..... ..... 011 ..... 1010111 @r_vm | |
3277d955 LZ |
325 | vsll_vv 100101 . ..... ..... 000 ..... 1010111 @r_vm |
326 | vsll_vx 100101 . ..... ..... 100 ..... 1010111 @r_vm | |
327 | vsll_vi 100101 . ..... ..... 011 ..... 1010111 @r_vm | |
328 | vsrl_vv 101000 . ..... ..... 000 ..... 1010111 @r_vm | |
329 | vsrl_vx 101000 . ..... ..... 100 ..... 1010111 @r_vm | |
330 | vsrl_vi 101000 . ..... ..... 011 ..... 1010111 @r_vm | |
331 | vsra_vv 101001 . ..... ..... 000 ..... 1010111 @r_vm | |
332 | vsra_vx 101001 . ..... ..... 100 ..... 1010111 @r_vm | |
333 | vsra_vi 101001 . ..... ..... 011 ..... 1010111 @r_vm | |
7689b028 LZ |
334 | vnsrl_vv 101100 . ..... ..... 000 ..... 1010111 @r_vm |
335 | vnsrl_vx 101100 . ..... ..... 100 ..... 1010111 @r_vm | |
336 | vnsrl_vi 101100 . ..... ..... 011 ..... 1010111 @r_vm | |
337 | vnsra_vv 101101 . ..... ..... 000 ..... 1010111 @r_vm | |
338 | vnsra_vx 101101 . ..... ..... 100 ..... 1010111 @r_vm | |
339 | vnsra_vi 101101 . ..... ..... 011 ..... 1010111 @r_vm | |
1366fc79 LZ |
340 | vmseq_vv 011000 . ..... ..... 000 ..... 1010111 @r_vm |
341 | vmseq_vx 011000 . ..... ..... 100 ..... 1010111 @r_vm | |
342 | vmseq_vi 011000 . ..... ..... 011 ..... 1010111 @r_vm | |
343 | vmsne_vv 011001 . ..... ..... 000 ..... 1010111 @r_vm | |
344 | vmsne_vx 011001 . ..... ..... 100 ..... 1010111 @r_vm | |
345 | vmsne_vi 011001 . ..... ..... 011 ..... 1010111 @r_vm | |
346 | vmsltu_vv 011010 . ..... ..... 000 ..... 1010111 @r_vm | |
347 | vmsltu_vx 011010 . ..... ..... 100 ..... 1010111 @r_vm | |
348 | vmslt_vv 011011 . ..... ..... 000 ..... 1010111 @r_vm | |
349 | vmslt_vx 011011 . ..... ..... 100 ..... 1010111 @r_vm | |
350 | vmsleu_vv 011100 . ..... ..... 000 ..... 1010111 @r_vm | |
351 | vmsleu_vx 011100 . ..... ..... 100 ..... 1010111 @r_vm | |
352 | vmsleu_vi 011100 . ..... ..... 011 ..... 1010111 @r_vm | |
353 | vmsle_vv 011101 . ..... ..... 000 ..... 1010111 @r_vm | |
354 | vmsle_vx 011101 . ..... ..... 100 ..... 1010111 @r_vm | |
355 | vmsle_vi 011101 . ..... ..... 011 ..... 1010111 @r_vm | |
356 | vmsgtu_vx 011110 . ..... ..... 100 ..... 1010111 @r_vm | |
357 | vmsgtu_vi 011110 . ..... ..... 011 ..... 1010111 @r_vm | |
358 | vmsgt_vx 011111 . ..... ..... 100 ..... 1010111 @r_vm | |
359 | vmsgt_vi 011111 . ..... ..... 011 ..... 1010111 @r_vm | |
43740e3a | 360 | |
2b7168fc LZ |
361 | vsetvli 0 ........... ..... 111 ..... 1010111 @r2_zimm |
362 | vsetvl 1000000 ..... ..... 111 ..... 1010111 @r |