xref: /openbmc/qemu/target/riscv/insn32.decode (revision 92ec7805190313c9e628f8fc4eb4f932c15247bd)
12a53cff4SBastian Koppelmann#
22a53cff4SBastian Koppelmann# RISC-V translation routines for the RVXI Base Integer Instruction Set.
32a53cff4SBastian Koppelmann#
42a53cff4SBastian Koppelmann# Copyright (c) 2018 Peer Adelt, peer.adelt@hni.uni-paderborn.de
52a53cff4SBastian Koppelmann#                    Bastian Koppelmann, kbastian@mail.uni-paderborn.de
62a53cff4SBastian Koppelmann#
72a53cff4SBastian Koppelmann# This program is free software; you can redistribute it and/or modify it
82a53cff4SBastian Koppelmann# under the terms and conditions of the GNU General Public License,
92a53cff4SBastian Koppelmann# version 2 or later, as published by the Free Software Foundation.
102a53cff4SBastian Koppelmann#
112a53cff4SBastian Koppelmann# This program is distributed in the hope it will be useful, but WITHOUT
122a53cff4SBastian Koppelmann# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
132a53cff4SBastian Koppelmann# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
142a53cff4SBastian Koppelmann# more details.
152a53cff4SBastian Koppelmann#
162a53cff4SBastian Koppelmann# You should have received a copy of the GNU General Public License along with
172a53cff4SBastian Koppelmann# this program.  If not, see <http://www.gnu.org/licenses/>.
182a53cff4SBastian Koppelmann
192a53cff4SBastian Koppelmann# Fields:
206f0e74ffSBastian Koppelmann%rs3       27:5
213cca75a6SBastian Koppelmann%rs2       20:5
223cca75a6SBastian Koppelmann%rs1       15:5
232a53cff4SBastian Koppelmann%rd        7:5
24daf866b6SAlistair Francis%sh5       20:5
256bf4bbedSFrédéric Pétrot%sh6       20:6
262a53cff4SBastian Koppelmann
2700718208SKito Cheng%sh7    20:7
28771fbe15SBastian Koppelmann%csr    20:12
296f0e74ffSBastian Koppelmann%rm     12:3
30751538d5SLIU Zhiwei%nf     29:3                     !function=ex_plus_1
31b73a987bSBastian Koppelmann
322a53cff4SBastian Koppelmann# immediates:
333cca75a6SBastian Koppelmann%imm_i    20:s12
34c1000d4eSBastian Koppelmann%imm_s    25:s7 7:5
353cca75a6SBastian Koppelmann%imm_b    31:s1 7:1 25:6 8:4     !function=ex_shift_1
363cca75a6SBastian Koppelmann%imm_j    31:s1 12:8 20:1 21:10  !function=ex_shift_1
372a53cff4SBastian Koppelmann%imm_u    12:s20                 !function=ex_shift_12
3868d19b58SWeiwei Li%imm_bs   30:2                   !function=ex_shift_3
399e33e175SWeiwei Li%imm_rnum 20:4
4006028472SDickon Hood%imm_z6   26:1 15:5
416eab278dSLIU Zhiwei%imm_mop5 30:1 26:2 20:2
426eab278dSLIU Zhiwei%imm_mop3 30:1 26:2
432a53cff4SBastian Koppelmann
443cca75a6SBastian Koppelmann# Argument sets:
45e7617997SRichard Henderson&empty
463cca75a6SBastian Koppelmann&b    imm rs2 rs1
477a50d3e2SBastian Koppelmann&i    imm rs1 rd
48e7617997SRichard Henderson&j    imm rd
49f2ab1728SBastian Koppelmann&r    rd rs1 rs2
5043824018SKito Cheng&r2   rd rs1
51f33960dfSRichard Henderson&r2_s rs1 rs2
52e7617997SRichard Henderson&s    imm rs1 rs2
53e7617997SRichard Henderson&u    imm rd
54b73a987bSBastian Koppelmann&shift     shamt rs1 rd
553b77c289SBastian Koppelmann&atomic    aq rl rs2 rs1 rd
5643740e3aSLIU Zhiwei&rmrr      vm rd rs1 rs2
57d9e4ce72SLIU Zhiwei&rmr       vm rd rs2
58751538d5SLIU Zhiwei&r2nfvm    vm rd rs1 nf
59751538d5SLIU Zhiwei&rnfvm     vm rd rs1 rs2 nf
6068d19b58SWeiwei Li&k_aes     shamt rs2 rs1 rd
616eab278dSLIU Zhiwei&mop5 imm rd rs1
626eab278dSLIU Zhiwei&mop3 imm rd rs1 rs2
633cca75a6SBastian Koppelmann
642a53cff4SBastian Koppelmann# Formats 32:
65f2ab1728SBastian Koppelmann@r       .......   ..... ..... ... ..... ....... &r                %rs2 %rs1 %rd
667a50d3e2SBastian Koppelmann@i       ............    ..... ... ..... ....... &i      imm=%imm_i     %rs1 %rd
673cca75a6SBastian Koppelmann@b       .......   ..... ..... ... ..... ....... &b      imm=%imm_b %rs2 %rs1
68e7617997SRichard Henderson@s       .......   ..... ..... ... ..... ....... &s      imm=%imm_s %rs2 %rs1
69e7617997SRichard Henderson@u       ....................      ..... ....... &u      imm=%imm_u          %rd
70e7617997SRichard Henderson@j       ....................      ..... ....... &j      imm=%imm_j          %rd
712a53cff4SBastian Koppelmann
7200718208SKito Cheng@sh      ......  ...... .....  ... ..... ....... &shift  shamt=%sh7     %rs1 %rd
73771fbe15SBastian Koppelmann@csr     ............   .....  ... ..... .......               %csr     %rs1 %rd
74b73a987bSBastian Koppelmann
753b77c289SBastian Koppelmann@atom_ld ..... aq:1 rl:1 ..... ........ ..... ....... &atomic rs2=0     %rs1 %rd
763b77c289SBastian Koppelmann@atom_st ..... aq:1 rl:1 ..... ........ ..... ....... &atomic %rs2      %rs1 %rd
773b77c289SBastian Koppelmann
786f0e74ffSBastian Koppelmann@r4_rm   ..... ..  ..... ..... ... ..... ....... %rs3 %rs2 %rs1 %rm %rd
796f0e74ffSBastian Koppelmann@r_rm    .......   ..... ..... ... ..... ....... %rs2 %rs1 %rm %rd
806f0e74ffSBastian Koppelmann@r2_rm   .......   ..... ..... ... ..... ....... %rs1 %rm %rd
8143824018SKito Cheng@r2      .......   ..... ..... ... ..... ....... &r2 %rs1 %rd
82e972bf22SNazar Kazakov@r2_vm_1 ...... . ..... ..... ... ..... ....... &rmr vm=1 %rs2 %rd
83751538d5SLIU Zhiwei@r2_nfvm ... ... vm:1 ..... ..... ... ..... ....... &r2nfvm %nf %rs1 %rd
84d9e4ce72SLIU Zhiwei@r2_vm   ...... vm:1 ..... ..... ... ..... ....... &rmr %rs2 %rd
85126bec3fSLIU Zhiwei@r1_vm   ...... vm:1 ..... ..... ... ..... ....... %rd
86751538d5SLIU Zhiwei@r_nfvm  ... ... vm:1 ..... ..... ... ..... ....... &rnfvm %nf %rs2 %rs1 %rd
872843420aSLIU Zhiwei@r2rd    .......   ..... ..... ... ..... ....... %rs2 %rd
8843740e3aSLIU Zhiwei@r_vm    ...... vm:1 ..... ..... ... ..... ....... &rmrr %rs2 %rs1 %rd
893a6f8f68SLIU Zhiwei@r_vm_1  ...... . ..... ..... ... ..... .......    &rmrr vm=1 %rs2 %rs1 %rd
90f020a7a1SLIU Zhiwei@r_vm_0  ...... . ..... ..... ... ..... .......    &rmrr vm=0 %rs2 %rs1 %rd
9106028472SDickon Hood@r2_zimm6  ..... . vm:1 ..... ..... ... ..... .......  &rmrr %rs2 rs1=%imm_z6 %rd
926b5c8eb3SFrank Chang@r2_zimm11 . zimm:11  ..... ... ..... ....... %rs1 %rd
9334a2c2d8SFrank Chang@r2_zimm10 .. zimm:10  ..... ... ..... ....... %rs1 %rd
948c5362acSAlistair Francis@r2_s    .......   ..... ..... ... ..... ....... %rs2 %rs1
956f0e74ffSBastian Koppelmann
96895c412cSAlistair Francis@hfence_gvma ....... ..... .....   ... ..... ....... %rs2 %rs1
97b8429dedSAlistair Francis@hfence_vvma ....... ..... .....   ... ..... ....... %rs2 %rs1
98895c412cSAlistair Francis
994ba79c47SBastian Koppelmann@sfence_vma ....... ..... .....   ... ..... ....... %rs2 %rs1
1004ba79c47SBastian Koppelmann@sfence_vm  ....... ..... .....   ... ..... ....... %rs1
1014ba79c47SBastian Koppelmann
10268d19b58SWeiwei Li@k_aes   .. ..... ..... .....  ... ..... ....... &k_aes  shamt=%imm_bs   %rs2 %rs1 %rd
1039e33e175SWeiwei Li@i_aes   .. ..... ..... .....  ... ..... ....... &i      imm=%imm_rnum        %rs1 %rd
10468d19b58SWeiwei Li
1056eab278dSLIU Zhiwei@mop5 . . .. .. .... .. ..... ... ..... ....... &mop5 imm=%imm_mop5 %rd %rs1
1066eab278dSLIU Zhiwei@mop3 . . .. .. . ..... ..... ... ..... ....... &mop3 imm=%imm_mop3 %rd %rs1 %rs2
1076eab278dSLIU Zhiwei
108daf866b6SAlistair Francis# Formats 64:
109daf866b6SAlistair Francis@sh5     .......  ..... .....  ... ..... ....... &shift  shamt=%sh5      %rs1 %rd
1104ba79c47SBastian Koppelmann
1116bf4bbedSFrédéric Pétrot# Formats 128:
1126bf4bbedSFrédéric Pétrot@sh6       ...... ...... ..... ... ..... ....... &shift shamt=%sh6 %rs1 %rd
1136bf4bbedSFrédéric Pétrot
1144ba79c47SBastian Koppelmann# *** Privileged Instructions ***
1154ba79c47SBastian Koppelmannecall       000000000000     00000 000 00000 1110011
1164ba79c47SBastian Koppelmannebreak      000000000001     00000 000 00000 1110011
1174ba79c47SBastian Koppelmannuret        0000000    00010 00000 000 00000 1110011
1184ba79c47SBastian Koppelmannsret        0001000    00010 00000 000 00000 1110011
1194ba79c47SBastian Koppelmannmret        0011000    00010 00000 000 00000 1110011
1204ba79c47SBastian Koppelmannwfi         0001000    00101 00000 000 00000 1110011
1214ba79c47SBastian Koppelmannsfence_vma  0001001    ..... ..... 000 00000 1110011 @sfence_vma
1224ba79c47SBastian Koppelmannsfence_vm   0001000    00100 ..... 000 00000 1110011 @sfence_vm
1234ba79c47SBastian Koppelmann
1242a53cff4SBastian Koppelmann# *** RV32I Base Instruction Set ***
1252a53cff4SBastian Koppelmannlui      ....................       ..... 0110111 @u
126966f3a38SDeepak Gupta{
127966f3a38SDeepak Gupta  lpad   label:20                   00000 0010111
1282a53cff4SBastian Koppelmann  auipc  ....................       ..... 0010111 @u
129966f3a38SDeepak Gupta}
1303cca75a6SBastian Koppelmannjal      ....................       ..... 1101111 @j
1313cca75a6SBastian Koppelmannjalr     ............     ..... 000 ..... 1100111 @i
1323cca75a6SBastian Koppelmannbeq      ....... .....    ..... 000 ..... 1100011 @b
1333cca75a6SBastian Koppelmannbne      ....... .....    ..... 001 ..... 1100011 @b
1343cca75a6SBastian Koppelmannblt      ....... .....    ..... 100 ..... 1100011 @b
1353cca75a6SBastian Koppelmannbge      ....... .....    ..... 101 ..... 1100011 @b
1363cca75a6SBastian Koppelmannbltu     ....... .....    ..... 110 ..... 1100011 @b
1373cca75a6SBastian Koppelmannbgeu     ....... .....    ..... 111 ..... 1100011 @b
138c1000d4eSBastian Koppelmannlb       ............     ..... 000 ..... 0000011 @i
139c1000d4eSBastian Koppelmannlh       ............     ..... 001 ..... 0000011 @i
140c1000d4eSBastian Koppelmannlw       ............     ..... 010 ..... 0000011 @i
141c1000d4eSBastian Koppelmannlbu      ............     ..... 100 ..... 0000011 @i
142c1000d4eSBastian Koppelmannlhu      ............     ..... 101 ..... 0000011 @i
143c1000d4eSBastian Koppelmannsb       .......  .....   ..... 000 ..... 0100011 @s
144c1000d4eSBastian Koppelmannsh       .......  .....   ..... 001 ..... 0100011 @s
145c1000d4eSBastian Koppelmannsw       .......  .....   ..... 010 ..... 0100011 @s
146b73a987bSBastian Koppelmannaddi     ............     ..... 000 ..... 0010011 @i
147b73a987bSBastian Koppelmannslti     ............     ..... 010 ..... 0010011 @i
148b73a987bSBastian Koppelmannsltiu    ............     ..... 011 ..... 0010011 @i
149b73a987bSBastian Koppelmannxori     ............     ..... 100 ..... 0010011 @i
15059cb29d6SChristoph Muellner# cbo.prefetch_{i,r,m} instructions are ori with rd=x0 and not decoded.
151b73a987bSBastian Koppelmannori      ............     ..... 110 ..... 0010011 @i
152b73a987bSBastian Koppelmannandi     ............     ..... 111 ..... 0010011 @i
15300718208SKito Chengslli     00000. ......    ..... 001 ..... 0010011 @sh
15400718208SKito Chengsrli     00000. ......    ..... 101 ..... 0010011 @sh
15500718208SKito Chengsrai     01000. ......    ..... 101 ..... 0010011 @sh
156b73a987bSBastian Koppelmannadd      0000000 .....    ..... 000 ..... 0110011 @r
157b73a987bSBastian Koppelmannsub      0100000 .....    ..... 000 ..... 0110011 @r
158b73a987bSBastian Koppelmannsll      0000000 .....    ..... 001 ..... 0110011 @r
159b73a987bSBastian Koppelmannslt      0000000 .....    ..... 010 ..... 0110011 @r
160b73a987bSBastian Koppelmannsltu     0000000 .....    ..... 011 ..... 0110011 @r
161b73a987bSBastian Koppelmannxor      0000000 .....    ..... 100 ..... 0110011 @r
162b73a987bSBastian Koppelmannsrl      0000000 .....    ..... 101 ..... 0110011 @r
163b73a987bSBastian Koppelmannsra      0100000 .....    ..... 101 ..... 0110011 @r
164b73a987bSBastian Koppelmannor       0000000 .....    ..... 110 ..... 0110011 @r
165b73a987bSBastian Koppelmannand      0000000 .....    ..... 111 ..... 0110011 @r
1664696f0abSDao Lu
1674696f0abSDao Lu{
1684696f0abSDao Lu  pause  0000 0001   0000   00000 000 00000 0001111
1690c865e85SBastian Koppelmann  fence  ---- pred:4 succ:4 ----- 000 ----- 0001111
1704696f0abSDao Lu}
1714696f0abSDao Lu
1720c865e85SBastian Koppelmannfence_i  ---- ----   ----   ----- 001 ----- 0001111
173771fbe15SBastian Koppelmanncsrrw    ............     ..... 001 ..... 1110011 @csr
174771fbe15SBastian Koppelmanncsrrs    ............     ..... 010 ..... 1110011 @csr
175771fbe15SBastian Koppelmanncsrrc    ............     ..... 011 ..... 1110011 @csr
176771fbe15SBastian Koppelmanncsrrwi   ............     ..... 101 ..... 1110011 @csr
177771fbe15SBastian Koppelmanncsrrsi   ............     ..... 110 ..... 1110011 @csr
178771fbe15SBastian Koppelmanncsrrci   ............     ..... 111 ..... 1110011 @csr
179d2e2c1e4SBastian Koppelmann
180daf866b6SAlistair Francis# *** RV64I Base Instruction Set (in addition to RV32I) ***
181daf866b6SAlistair Francislwu      ............   ..... 110 ..... 0000011 @i
182daf866b6SAlistair Francisld       ............   ..... 011 ..... 0000011 @i
183daf866b6SAlistair Francissd       ....... .....  ..... 011 ..... 0100011 @s
184daf866b6SAlistair Francisaddiw    ............   ..... 000 ..... 0011011 @i
185daf866b6SAlistair Francisslliw    0000000 .....  ..... 001 ..... 0011011 @sh5
186daf866b6SAlistair Francissrliw    0000000 .....  ..... 101 ..... 0011011 @sh5
187daf866b6SAlistair Francissraiw    0100000 .....  ..... 101 ..... 0011011 @sh5
188daf866b6SAlistair Francisaddw     0000000 .....  ..... 000 ..... 0111011 @r
189daf866b6SAlistair Francissubw     0100000 .....  ..... 000 ..... 0111011 @r
190daf866b6SAlistair Francissllw     0000000 .....  ..... 001 ..... 0111011 @r
191daf866b6SAlistair Francissrlw     0000000 .....  ..... 101 ..... 0111011 @r
192daf866b6SAlistair Francissraw     0100000 .....  ..... 101 ..... 0111011 @r
193daf866b6SAlistair Francis
194a2f827ffSFrédéric Pétrot# *** RV128I Base Instruction Set (in addition to RV64I) ***
195a2f827ffSFrédéric Pétrotldu      ............   ..... 111 ..... 0000011 @i
196a939c500SChristoph Muellner{
197a939c500SChristoph Muellner  [
198e05da09bSChristoph Muellner    # *** RV32 Zicbom Standard Extension ***
199e05da09bSChristoph Muellner    cbo_clean  0000000 00001 ..... 010 00000 0001111 @sfence_vm
200e05da09bSChristoph Muellner    cbo_flush  0000000 00010 ..... 010 00000 0001111 @sfence_vm
201e05da09bSChristoph Muellner    cbo_inval  0000000 00000 ..... 010 00000 0001111 @sfence_vm
202e05da09bSChristoph Muellner
203a939c500SChristoph Muellner    # *** RV32 Zicboz Standard Extension ***
204a939c500SChristoph Muellner    cbo_zero   0000000 00100 ..... 010 00000 0001111 @sfence_vm
205a939c500SChristoph Muellner  ]
206a939c500SChristoph Muellner
207a939c500SChristoph Muellner  # *** RVI128 lq ***
208a2f827ffSFrédéric Pétrot  lq       ............   ..... 010 ..... 0001111 @i
209a939c500SChristoph Muellner}
210a2f827ffSFrédéric Pétrotsq       ............   ..... 100 ..... 0100011 @s
2117fd40f86SFrédéric Pétrotaddid    ............  .....  000 ..... 1011011 @i
2126bf4bbedSFrédéric Pétrotsllid    000000 ......  ..... 001 ..... 1011011 @sh6
2136bf4bbedSFrédéric Pétrotsrlid    000000 ......  ..... 101 ..... 1011011 @sh6
2146bf4bbedSFrédéric Pétrotsraid    010000 ......  ..... 101 ..... 1011011 @sh6
2157fd40f86SFrédéric Pétrotaddd     0000000 ..... .....  000 ..... 1111011 @r
2167fd40f86SFrédéric Pétrotsubd     0100000 ..... .....  000 ..... 1111011 @r
2176bf4bbedSFrédéric Pétrotslld     0000000 ..... .....  001 ..... 1111011 @r
2186bf4bbedSFrédéric Pétrotsrld     0000000 ..... .....  101 ..... 1111011 @r
2196bf4bbedSFrédéric Pétrotsrad     0100000 ..... .....  101 ..... 1111011 @r
220a2f827ffSFrédéric Pétrot
221d2e2c1e4SBastian Koppelmann# *** RV32M Standard Extension ***
222d2e2c1e4SBastian Koppelmannmul      0000001 .....  ..... 000 ..... 0110011 @r
223d2e2c1e4SBastian Koppelmannmulh     0000001 .....  ..... 001 ..... 0110011 @r
224d2e2c1e4SBastian Koppelmannmulhsu   0000001 .....  ..... 010 ..... 0110011 @r
225d2e2c1e4SBastian Koppelmannmulhu    0000001 .....  ..... 011 ..... 0110011 @r
226d2e2c1e4SBastian Koppelmanndiv      0000001 .....  ..... 100 ..... 0110011 @r
227d2e2c1e4SBastian Koppelmanndivu     0000001 .....  ..... 101 ..... 0110011 @r
228d2e2c1e4SBastian Koppelmannrem      0000001 .....  ..... 110 ..... 0110011 @r
229d2e2c1e4SBastian Koppelmannremu     0000001 .....  ..... 111 ..... 0110011 @r
2303b77c289SBastian Koppelmann
231daf866b6SAlistair Francis# *** RV64M Standard Extension (in addition to RV32M) ***
232daf866b6SAlistair Francismulw     0000001 .....  ..... 000 ..... 0111011 @r
233daf866b6SAlistair Francisdivw     0000001 .....  ..... 100 ..... 0111011 @r
234daf866b6SAlistair Francisdivuw    0000001 .....  ..... 101 ..... 0111011 @r
235daf866b6SAlistair Francisremw     0000001 .....  ..... 110 ..... 0111011 @r
236daf866b6SAlistair Francisremuw    0000001 .....  ..... 111 ..... 0111011 @r
237daf866b6SAlistair Francis
238b3a5d1fbSFrédéric Pétrot# *** RV128M Standard Extension (in addition to RV64M) ***
239b3a5d1fbSFrédéric Pétrotmuld     0000001 .....  ..... 000 ..... 1111011 @r
240b3a5d1fbSFrédéric Pétrotdivd     0000001 .....  ..... 100 ..... 1111011 @r
241b3a5d1fbSFrédéric Pétrotdivud    0000001 .....  ..... 101 ..... 1111011 @r
242b3a5d1fbSFrédéric Pétrotremd     0000001 .....  ..... 110 ..... 1111011 @r
243b3a5d1fbSFrédéric Pétrotremud    0000001 .....  ..... 111 ..... 1111011 @r
244b3a5d1fbSFrédéric Pétrot
2453b77c289SBastian Koppelmann# *** RV32A Standard Extension ***
2463b77c289SBastian Koppelmannlr_w       00010 . . 00000 ..... 010 ..... 0101111 @atom_ld
2473b77c289SBastian Koppelmannsc_w       00011 . . ..... ..... 010 ..... 0101111 @atom_st
2483b77c289SBastian Koppelmannamoswap_w  00001 . . ..... ..... 010 ..... 0101111 @atom_st
249*f06bfe3dSDeepak Guptassamoswap_w 01001 . . ..... ..... 010 ..... 0101111 @atom_st
2503b77c289SBastian Koppelmannamoadd_w   00000 . . ..... ..... 010 ..... 0101111 @atom_st
2513b77c289SBastian Koppelmannamoxor_w   00100 . . ..... ..... 010 ..... 0101111 @atom_st
2523b77c289SBastian Koppelmannamoand_w   01100 . . ..... ..... 010 ..... 0101111 @atom_st
2533b77c289SBastian Koppelmannamoor_w    01000 . . ..... ..... 010 ..... 0101111 @atom_st
2543b77c289SBastian Koppelmannamomin_w   10000 . . ..... ..... 010 ..... 0101111 @atom_st
2553b77c289SBastian Koppelmannamomax_w   10100 . . ..... ..... 010 ..... 0101111 @atom_st
2563b77c289SBastian Koppelmannamominu_w  11000 . . ..... ..... 010 ..... 0101111 @atom_st
2573b77c289SBastian Koppelmannamomaxu_w  11100 . . ..... ..... 010 ..... 0101111 @atom_st
2586f0e74ffSBastian Koppelmann
259daf866b6SAlistair Francis# *** RV64A Standard Extension (in addition to RV32A) ***
260daf866b6SAlistair Francislr_d       00010 . . 00000 ..... 011 ..... 0101111 @atom_ld
261daf866b6SAlistair Francissc_d       00011 . . ..... ..... 011 ..... 0101111 @atom_st
262daf866b6SAlistair Francisamoswap_d  00001 . . ..... ..... 011 ..... 0101111 @atom_st
263*f06bfe3dSDeepak Guptassamoswap_d 01001 . . ..... ..... 011 ..... 0101111 @atom_st
264daf866b6SAlistair Francisamoadd_d   00000 . . ..... ..... 011 ..... 0101111 @atom_st
265daf866b6SAlistair Francisamoxor_d   00100 . . ..... ..... 011 ..... 0101111 @atom_st
266daf866b6SAlistair Francisamoand_d   01100 . . ..... ..... 011 ..... 0101111 @atom_st
267daf866b6SAlistair Francisamoor_d    01000 . . ..... ..... 011 ..... 0101111 @atom_st
268daf866b6SAlistair Francisamomin_d   10000 . . ..... ..... 011 ..... 0101111 @atom_st
269daf866b6SAlistair Francisamomax_d   10100 . . ..... ..... 011 ..... 0101111 @atom_st
270daf866b6SAlistair Francisamominu_d  11000 . . ..... ..... 011 ..... 0101111 @atom_st
271daf866b6SAlistair Francisamomaxu_d  11100 . . ..... ..... 011 ..... 0101111 @atom_st
272daf866b6SAlistair Francis
2736f0e74ffSBastian Koppelmann# *** RV32F Standard Extension ***
2746f0e74ffSBastian Koppelmannflw        ............   ..... 010 ..... 0000111 @i
2756f0e74ffSBastian Koppelmannfsw        .......  ..... ..... 010 ..... 0100111 @s
2766f0e74ffSBastian Koppelmannfmadd_s    ..... 00 ..... ..... ... ..... 1000011 @r4_rm
2776f0e74ffSBastian Koppelmannfmsub_s    ..... 00 ..... ..... ... ..... 1000111 @r4_rm
2786f0e74ffSBastian Koppelmannfnmsub_s   ..... 00 ..... ..... ... ..... 1001011 @r4_rm
2796f0e74ffSBastian Koppelmannfnmadd_s   ..... 00 ..... ..... ... ..... 1001111 @r4_rm
2806f0e74ffSBastian Koppelmannfadd_s     0000000  ..... ..... ... ..... 1010011 @r_rm
2816f0e74ffSBastian Koppelmannfsub_s     0000100  ..... ..... ... ..... 1010011 @r_rm
2826f0e74ffSBastian Koppelmannfmul_s     0001000  ..... ..... ... ..... 1010011 @r_rm
2836f0e74ffSBastian Koppelmannfdiv_s     0001100  ..... ..... ... ..... 1010011 @r_rm
2846f0e74ffSBastian Koppelmannfsqrt_s    0101100  00000 ..... ... ..... 1010011 @r2_rm
2856f0e74ffSBastian Koppelmannfsgnj_s    0010000  ..... ..... 000 ..... 1010011 @r
2866f0e74ffSBastian Koppelmannfsgnjn_s   0010000  ..... ..... 001 ..... 1010011 @r
2876f0e74ffSBastian Koppelmannfsgnjx_s   0010000  ..... ..... 010 ..... 1010011 @r
2886f0e74ffSBastian Koppelmannfmin_s     0010100  ..... ..... 000 ..... 1010011 @r
2896f0e74ffSBastian Koppelmannfmax_s     0010100  ..... ..... 001 ..... 1010011 @r
2906f0e74ffSBastian Koppelmannfcvt_w_s   1100000  00000 ..... ... ..... 1010011 @r2_rm
2916f0e74ffSBastian Koppelmannfcvt_wu_s  1100000  00001 ..... ... ..... 1010011 @r2_rm
2926f0e74ffSBastian Koppelmannfmv_x_w    1110000  00000 ..... 000 ..... 1010011 @r2
2936f0e74ffSBastian Koppelmannfeq_s      1010000  ..... ..... 010 ..... 1010011 @r
2946f0e74ffSBastian Koppelmannflt_s      1010000  ..... ..... 001 ..... 1010011 @r
2956f0e74ffSBastian Koppelmannfle_s      1010000  ..... ..... 000 ..... 1010011 @r
2966f0e74ffSBastian Koppelmannfclass_s   1110000  00000 ..... 001 ..... 1010011 @r2
2976f0e74ffSBastian Koppelmannfcvt_s_w   1101000  00000 ..... ... ..... 1010011 @r2_rm
2986f0e74ffSBastian Koppelmannfcvt_s_wu  1101000  00001 ..... ... ..... 1010011 @r2_rm
2996f0e74ffSBastian Koppelmannfmv_w_x    1111000  00000 ..... 000 ..... 1010011 @r2
30097f8b493SBastian Koppelmann
301daf866b6SAlistair Francis# *** RV64F Standard Extension (in addition to RV32F) ***
302daf866b6SAlistair Francisfcvt_l_s   1100000  00010 ..... ... ..... 1010011 @r2_rm
303daf866b6SAlistair Francisfcvt_lu_s  1100000  00011 ..... ... ..... 1010011 @r2_rm
304daf866b6SAlistair Francisfcvt_s_l   1101000  00010 ..... ... ..... 1010011 @r2_rm
305daf866b6SAlistair Francisfcvt_s_lu  1101000  00011 ..... ... ..... 1010011 @r2_rm
306daf866b6SAlistair Francis
30797f8b493SBastian Koppelmann# *** RV32D Standard Extension ***
30897f8b493SBastian Koppelmannfld        ............   ..... 011 ..... 0000111 @i
30997f8b493SBastian Koppelmannfsd        ....... .....  ..... 011 ..... 0100111 @s
31097f8b493SBastian Koppelmannfmadd_d    ..... 01 ..... ..... ... ..... 1000011 @r4_rm
31197f8b493SBastian Koppelmannfmsub_d    ..... 01 ..... ..... ... ..... 1000111 @r4_rm
31297f8b493SBastian Koppelmannfnmsub_d   ..... 01 ..... ..... ... ..... 1001011 @r4_rm
31397f8b493SBastian Koppelmannfnmadd_d   ..... 01 ..... ..... ... ..... 1001111 @r4_rm
31497f8b493SBastian Koppelmannfadd_d     0000001  ..... ..... ... ..... 1010011 @r_rm
31597f8b493SBastian Koppelmannfsub_d     0000101  ..... ..... ... ..... 1010011 @r_rm
31697f8b493SBastian Koppelmannfmul_d     0001001  ..... ..... ... ..... 1010011 @r_rm
31797f8b493SBastian Koppelmannfdiv_d     0001101  ..... ..... ... ..... 1010011 @r_rm
31897f8b493SBastian Koppelmannfsqrt_d    0101101  00000 ..... ... ..... 1010011 @r2_rm
31997f8b493SBastian Koppelmannfsgnj_d    0010001  ..... ..... 000 ..... 1010011 @r
32097f8b493SBastian Koppelmannfsgnjn_d   0010001  ..... ..... 001 ..... 1010011 @r
32197f8b493SBastian Koppelmannfsgnjx_d   0010001  ..... ..... 010 ..... 1010011 @r
32297f8b493SBastian Koppelmannfmin_d     0010101  ..... ..... 000 ..... 1010011 @r
32397f8b493SBastian Koppelmannfmax_d     0010101  ..... ..... 001 ..... 1010011 @r
32497f8b493SBastian Koppelmannfcvt_s_d   0100000  00001 ..... ... ..... 1010011 @r2_rm
32597f8b493SBastian Koppelmannfcvt_d_s   0100001  00000 ..... ... ..... 1010011 @r2_rm
32697f8b493SBastian Koppelmannfeq_d      1010001  ..... ..... 010 ..... 1010011 @r
32797f8b493SBastian Koppelmannflt_d      1010001  ..... ..... 001 ..... 1010011 @r
32897f8b493SBastian Koppelmannfle_d      1010001  ..... ..... 000 ..... 1010011 @r
32997f8b493SBastian Koppelmannfclass_d   1110001  00000 ..... 001 ..... 1010011 @r2
33097f8b493SBastian Koppelmannfcvt_w_d   1100001  00000 ..... ... ..... 1010011 @r2_rm
33197f8b493SBastian Koppelmannfcvt_wu_d  1100001  00001 ..... ... ..... 1010011 @r2_rm
33297f8b493SBastian Koppelmannfcvt_d_w   1101001  00000 ..... ... ..... 1010011 @r2_rm
33397f8b493SBastian Koppelmannfcvt_d_wu  1101001  00001 ..... ... ..... 1010011 @r2_rm
334b8429dedSAlistair Francis
335daf866b6SAlistair Francis# *** RV64D Standard Extension (in addition to RV32D) ***
336daf866b6SAlistair Francisfcvt_l_d   1100001  00010 ..... ... ..... 1010011 @r2_rm
337daf866b6SAlistair Francisfcvt_lu_d  1100001  00011 ..... ... ..... 1010011 @r2_rm
338daf866b6SAlistair Francisfmv_x_d    1110001  00000 ..... 000 ..... 1010011 @r2
339daf866b6SAlistair Francisfcvt_d_l   1101001  00010 ..... ... ..... 1010011 @r2_rm
340daf866b6SAlistair Francisfcvt_d_lu  1101001  00011 ..... ... ..... 1010011 @r2_rm
341daf866b6SAlistair Francisfmv_d_x    1111001  00000 ..... 000 ..... 1010011 @r2
342daf866b6SAlistair Francis
343b8429dedSAlistair Francis# *** RV32H Base Instruction Set ***
3448c5362acSAlistair Francishlv_b       0110000  00000  ..... 100 ..... 1110011 @r2
3458c5362acSAlistair Francishlv_bu      0110000  00001  ..... 100 ..... 1110011 @r2
3468c5362acSAlistair Francishlv_h       0110010  00000  ..... 100 ..... 1110011 @r2
3478c5362acSAlistair Francishlv_hu      0110010  00001  ..... 100 ..... 1110011 @r2
3488c5362acSAlistair Francishlvx_hu     0110010  00011  ..... 100 ..... 1110011 @r2
3498c5362acSAlistair Francishlv_w       0110100  00000  ..... 100 ..... 1110011 @r2
3508c5362acSAlistair Francishlvx_wu     0110100  00011  ..... 100 ..... 1110011 @r2
3518c5362acSAlistair Francishsv_b       0110001  .....  ..... 100 00000 1110011 @r2_s
3528c5362acSAlistair Francishsv_h       0110011  .....  ..... 100 00000 1110011 @r2_s
3538c5362acSAlistair Francishsv_w       0110101  .....  ..... 100 00000 1110011 @r2_s
354b8429dedSAlistair Francishfence_gvma 0110001  .....  ..... 000 00000 1110011 @hfence_gvma
355b8429dedSAlistair Francishfence_vvma 0010001  .....  ..... 000 00000 1110011 @hfence_vvma
3562b7168fcSLIU Zhiwei
357c30a0757SAlistair Francis# *** RV64H Base Instruction Set ***
358daf866b6SAlistair Francishlv_wu    0110100  00001   ..... 100 ..... 1110011 @r2
359daf866b6SAlistair Francishlv_d     0110110  00000   ..... 100 ..... 1110011 @r2
360daf866b6SAlistair Francishsv_d     0110111  .....   ..... 100 00000 1110011 @r2_s
361751538d5SLIU Zhiwei
362751538d5SLIU Zhiwei# *** Vector loads and stores are encoded within LOADFP/STORE-FP ***
36379556fb6SFrank Chang# Vector unit-stride load/store insns.
36479556fb6SFrank Changvle8_v     ... 000 . 00000 ..... 000 ..... 0000111 @r2_nfvm
36579556fb6SFrank Changvle16_v    ... 000 . 00000 ..... 101 ..... 0000111 @r2_nfvm
36679556fb6SFrank Changvle32_v    ... 000 . 00000 ..... 110 ..... 0000111 @r2_nfvm
36779556fb6SFrank Changvle64_v    ... 000 . 00000 ..... 111 ..... 0000111 @r2_nfvm
36879556fb6SFrank Changvse8_v     ... 000 . 00000 ..... 000 ..... 0100111 @r2_nfvm
36979556fb6SFrank Changvse16_v    ... 000 . 00000 ..... 101 ..... 0100111 @r2_nfvm
37079556fb6SFrank Changvse32_v    ... 000 . 00000 ..... 110 ..... 0100111 @r2_nfvm
37179556fb6SFrank Changvse64_v    ... 000 . 00000 ..... 111 ..... 0100111 @r2_nfvm
37279556fb6SFrank Chang
37326086aeaSFrank Chang# Vector unit-stride mask load/store insns.
37426086aeaSFrank Changvlm_v      000 000 1 01011 ..... 000 ..... 0000111 @r2
37526086aeaSFrank Changvsm_v      000 000 1 01011 ..... 000 ..... 0100111 @r2
37626086aeaSFrank Chang
37779556fb6SFrank Chang# Vector strided insns.
37879556fb6SFrank Changvlse8_v     ... 010 . ..... ..... 000 ..... 0000111 @r_nfvm
37979556fb6SFrank Changvlse16_v    ... 010 . ..... ..... 101 ..... 0000111 @r_nfvm
38079556fb6SFrank Changvlse32_v    ... 010 . ..... ..... 110 ..... 0000111 @r_nfvm
38179556fb6SFrank Changvlse64_v    ... 010 . ..... ..... 111 ..... 0000111 @r_nfvm
38279556fb6SFrank Changvsse8_v     ... 010 . ..... ..... 000 ..... 0100111 @r_nfvm
38379556fb6SFrank Changvsse16_v    ... 010 . ..... ..... 101 ..... 0100111 @r_nfvm
38479556fb6SFrank Changvsse32_v    ... 010 . ..... ..... 110 ..... 0100111 @r_nfvm
38579556fb6SFrank Changvsse64_v    ... 010 . ..... ..... 111 ..... 0100111 @r_nfvm
38679556fb6SFrank Chang
38708b9d0edSFrank Chang# Vector ordered-indexed and unordered-indexed load insns.
38808b9d0edSFrank Changvlxei8_v      ... 0-1 . ..... ..... 000 ..... 0000111 @r_nfvm
38908b9d0edSFrank Changvlxei16_v     ... 0-1 . ..... ..... 101 ..... 0000111 @r_nfvm
39008b9d0edSFrank Changvlxei32_v     ... 0-1 . ..... ..... 110 ..... 0000111 @r_nfvm
39108b9d0edSFrank Changvlxei64_v     ... 0-1 . ..... ..... 111 ..... 0000111 @r_nfvm
39208b9d0edSFrank Chang
393f732560eSLIU Zhiwei# Vector ordered-indexed and unordered-indexed store insns.
39408b9d0edSFrank Changvsxei8_v      ... 0-1 . ..... ..... 000 ..... 0100111 @r_nfvm
39508b9d0edSFrank Changvsxei16_v     ... 0-1 . ..... ..... 101 ..... 0100111 @r_nfvm
39608b9d0edSFrank Changvsxei32_v     ... 0-1 . ..... ..... 110 ..... 0100111 @r_nfvm
39708b9d0edSFrank Changvsxei64_v     ... 0-1 . ..... ..... 111 ..... 0100111 @r_nfvm
398f732560eSLIU Zhiwei
399d3e5e2ffSFrank Chang# Vector unit-stride fault-only-first load insns.
400d3e5e2ffSFrank Changvle8ff_v      ... 000 . 10000 ..... 000 ..... 0000111 @r2_nfvm
401d3e5e2ffSFrank Changvle16ff_v     ... 000 . 10000 ..... 101 ..... 0000111 @r2_nfvm
402d3e5e2ffSFrank Changvle32ff_v     ... 000 . 10000 ..... 110 ..... 0000111 @r2_nfvm
403d3e5e2ffSFrank Changvle64ff_v     ... 000 . 10000 ..... 111 ..... 0000111 @r2_nfvm
404d3e5e2ffSFrank Chang
40530206bd8SFrank Chang# Vector whole register insns
40630206bd8SFrank Changvl1re8_v      000 000 1 01000 ..... 000 ..... 0000111 @r2
40730206bd8SFrank Changvl1re16_v     000 000 1 01000 ..... 101 ..... 0000111 @r2
40830206bd8SFrank Changvl1re32_v     000 000 1 01000 ..... 110 ..... 0000111 @r2
40930206bd8SFrank Changvl1re64_v     000 000 1 01000 ..... 111 ..... 0000111 @r2
41030206bd8SFrank Changvl2re8_v      001 000 1 01000 ..... 000 ..... 0000111 @r2
41130206bd8SFrank Changvl2re16_v     001 000 1 01000 ..... 101 ..... 0000111 @r2
41230206bd8SFrank Changvl2re32_v     001 000 1 01000 ..... 110 ..... 0000111 @r2
41330206bd8SFrank Changvl2re64_v     001 000 1 01000 ..... 111 ..... 0000111 @r2
41430206bd8SFrank Changvl4re8_v      011 000 1 01000 ..... 000 ..... 0000111 @r2
41530206bd8SFrank Changvl4re16_v     011 000 1 01000 ..... 101 ..... 0000111 @r2
41630206bd8SFrank Changvl4re32_v     011 000 1 01000 ..... 110 ..... 0000111 @r2
41730206bd8SFrank Changvl4re64_v     011 000 1 01000 ..... 111 ..... 0000111 @r2
41830206bd8SFrank Changvl8re8_v      111 000 1 01000 ..... 000 ..... 0000111 @r2
41930206bd8SFrank Changvl8re16_v     111 000 1 01000 ..... 101 ..... 0000111 @r2
42030206bd8SFrank Changvl8re32_v     111 000 1 01000 ..... 110 ..... 0000111 @r2
42130206bd8SFrank Changvl8re64_v     111 000 1 01000 ..... 111 ..... 0000111 @r2
42230206bd8SFrank Changvs1r_v        000 000 1 01000 ..... 000 ..... 0100111 @r2
42330206bd8SFrank Changvs2r_v        001 000 1 01000 ..... 000 ..... 0100111 @r2
42430206bd8SFrank Changvs4r_v        011 000 1 01000 ..... 000 ..... 0100111 @r2
42530206bd8SFrank Changvs8r_v        111 000 1 01000 ..... 000 ..... 0100111 @r2
42630206bd8SFrank Chang
427751538d5SLIU Zhiwei# *** new major opcode OP-V ***
42843740e3aSLIU Zhiweivadd_vv         000000 . ..... ..... 000 ..... 1010111 @r_vm
42943740e3aSLIU Zhiweivadd_vx         000000 . ..... ..... 100 ..... 1010111 @r_vm
43043740e3aSLIU Zhiweivadd_vi         000000 . ..... ..... 011 ..... 1010111 @r_vm
43143740e3aSLIU Zhiweivsub_vv         000010 . ..... ..... 000 ..... 1010111 @r_vm
43243740e3aSLIU Zhiweivsub_vx         000010 . ..... ..... 100 ..... 1010111 @r_vm
43343740e3aSLIU Zhiweivrsub_vx        000011 . ..... ..... 100 ..... 1010111 @r_vm
43443740e3aSLIU Zhiweivrsub_vi        000011 . ..... ..... 011 ..... 1010111 @r_vm
4358fcdf776SLIU Zhiweivwaddu_vv       110000 . ..... ..... 010 ..... 1010111 @r_vm
4368fcdf776SLIU Zhiweivwaddu_vx       110000 . ..... ..... 110 ..... 1010111 @r_vm
4378fcdf776SLIU Zhiweivwadd_vv        110001 . ..... ..... 010 ..... 1010111 @r_vm
4388fcdf776SLIU Zhiweivwadd_vx        110001 . ..... ..... 110 ..... 1010111 @r_vm
4398fcdf776SLIU Zhiweivwsubu_vv       110010 . ..... ..... 010 ..... 1010111 @r_vm
4408fcdf776SLIU Zhiweivwsubu_vx       110010 . ..... ..... 110 ..... 1010111 @r_vm
4418fcdf776SLIU Zhiweivwsub_vv        110011 . ..... ..... 010 ..... 1010111 @r_vm
4428fcdf776SLIU Zhiweivwsub_vx        110011 . ..... ..... 110 ..... 1010111 @r_vm
4438fcdf776SLIU Zhiweivwaddu_wv       110100 . ..... ..... 010 ..... 1010111 @r_vm
4448fcdf776SLIU Zhiweivwaddu_wx       110100 . ..... ..... 110 ..... 1010111 @r_vm
4458fcdf776SLIU Zhiweivwadd_wv        110101 . ..... ..... 010 ..... 1010111 @r_vm
4468fcdf776SLIU Zhiweivwadd_wx        110101 . ..... ..... 110 ..... 1010111 @r_vm
4478fcdf776SLIU Zhiweivwsubu_wv       110110 . ..... ..... 010 ..... 1010111 @r_vm
4488fcdf776SLIU Zhiweivwsubu_wx       110110 . ..... ..... 110 ..... 1010111 @r_vm
4498fcdf776SLIU Zhiweivwsub_wv        110111 . ..... ..... 010 ..... 1010111 @r_vm
4508fcdf776SLIU Zhiweivwsub_wx        110111 . ..... ..... 110 ..... 1010111 @r_vm
451bb45485aSFrank Changvadc_vvm        010000 0 ..... ..... 000 ..... 1010111 @r_vm_1
452bb45485aSFrank Changvadc_vxm        010000 0 ..... ..... 100 ..... 1010111 @r_vm_1
453bb45485aSFrank Changvadc_vim        010000 0 ..... ..... 011 ..... 1010111 @r_vm_1
454bb45485aSFrank Changvmadc_vvm       010001 . ..... ..... 000 ..... 1010111 @r_vm
455bb45485aSFrank Changvmadc_vxm       010001 . ..... ..... 100 ..... 1010111 @r_vm
456bb45485aSFrank Changvmadc_vim       010001 . ..... ..... 011 ..... 1010111 @r_vm
457bb45485aSFrank Changvsbc_vvm        010010 0 ..... ..... 000 ..... 1010111 @r_vm_1
458bb45485aSFrank Changvsbc_vxm        010010 0 ..... ..... 100 ..... 1010111 @r_vm_1
459bb45485aSFrank Changvmsbc_vvm       010011 . ..... ..... 000 ..... 1010111 @r_vm
460bb45485aSFrank Changvmsbc_vxm       010011 . ..... ..... 100 ..... 1010111 @r_vm
461d3842924SLIU Zhiweivand_vv         001001 . ..... ..... 000 ..... 1010111 @r_vm
462d3842924SLIU Zhiweivand_vx         001001 . ..... ..... 100 ..... 1010111 @r_vm
463d3842924SLIU Zhiweivand_vi         001001 . ..... ..... 011 ..... 1010111 @r_vm
464d3842924SLIU Zhiweivor_vv          001010 . ..... ..... 000 ..... 1010111 @r_vm
465d3842924SLIU Zhiweivor_vx          001010 . ..... ..... 100 ..... 1010111 @r_vm
466d3842924SLIU Zhiweivor_vi          001010 . ..... ..... 011 ..... 1010111 @r_vm
467d3842924SLIU Zhiweivxor_vv         001011 . ..... ..... 000 ..... 1010111 @r_vm
468d3842924SLIU Zhiweivxor_vx         001011 . ..... ..... 100 ..... 1010111 @r_vm
469d3842924SLIU Zhiweivxor_vi         001011 . ..... ..... 011 ..... 1010111 @r_vm
4703277d955SLIU Zhiweivsll_vv         100101 . ..... ..... 000 ..... 1010111 @r_vm
4713277d955SLIU Zhiweivsll_vx         100101 . ..... ..... 100 ..... 1010111 @r_vm
4723277d955SLIU Zhiweivsll_vi         100101 . ..... ..... 011 ..... 1010111 @r_vm
4733277d955SLIU Zhiweivsrl_vv         101000 . ..... ..... 000 ..... 1010111 @r_vm
4743277d955SLIU Zhiweivsrl_vx         101000 . ..... ..... 100 ..... 1010111 @r_vm
4753277d955SLIU Zhiweivsrl_vi         101000 . ..... ..... 011 ..... 1010111 @r_vm
4763277d955SLIU Zhiweivsra_vv         101001 . ..... ..... 000 ..... 1010111 @r_vm
4773277d955SLIU Zhiweivsra_vx         101001 . ..... ..... 100 ..... 1010111 @r_vm
4783277d955SLIU Zhiweivsra_vi         101001 . ..... ..... 011 ..... 1010111 @r_vm
4797daa5852SFrank Changvnsrl_wv        101100 . ..... ..... 000 ..... 1010111 @r_vm
4807daa5852SFrank Changvnsrl_wx        101100 . ..... ..... 100 ..... 1010111 @r_vm
4817daa5852SFrank Changvnsrl_wi        101100 . ..... ..... 011 ..... 1010111 @r_vm
4827daa5852SFrank Changvnsra_wv        101101 . ..... ..... 000 ..... 1010111 @r_vm
4837daa5852SFrank Changvnsra_wx        101101 . ..... ..... 100 ..... 1010111 @r_vm
4847daa5852SFrank Changvnsra_wi        101101 . ..... ..... 011 ..... 1010111 @r_vm
4851366fc79SLIU Zhiweivmseq_vv        011000 . ..... ..... 000 ..... 1010111 @r_vm
4861366fc79SLIU Zhiweivmseq_vx        011000 . ..... ..... 100 ..... 1010111 @r_vm
4871366fc79SLIU Zhiweivmseq_vi        011000 . ..... ..... 011 ..... 1010111 @r_vm
4881366fc79SLIU Zhiweivmsne_vv        011001 . ..... ..... 000 ..... 1010111 @r_vm
4891366fc79SLIU Zhiweivmsne_vx        011001 . ..... ..... 100 ..... 1010111 @r_vm
4901366fc79SLIU Zhiweivmsne_vi        011001 . ..... ..... 011 ..... 1010111 @r_vm
4911366fc79SLIU Zhiweivmsltu_vv       011010 . ..... ..... 000 ..... 1010111 @r_vm
4921366fc79SLIU Zhiweivmsltu_vx       011010 . ..... ..... 100 ..... 1010111 @r_vm
4931366fc79SLIU Zhiweivmslt_vv        011011 . ..... ..... 000 ..... 1010111 @r_vm
4941366fc79SLIU Zhiweivmslt_vx        011011 . ..... ..... 100 ..... 1010111 @r_vm
4951366fc79SLIU Zhiweivmsleu_vv       011100 . ..... ..... 000 ..... 1010111 @r_vm
4961366fc79SLIU Zhiweivmsleu_vx       011100 . ..... ..... 100 ..... 1010111 @r_vm
4971366fc79SLIU Zhiweivmsleu_vi       011100 . ..... ..... 011 ..... 1010111 @r_vm
4981366fc79SLIU Zhiweivmsle_vv        011101 . ..... ..... 000 ..... 1010111 @r_vm
4991366fc79SLIU Zhiweivmsle_vx        011101 . ..... ..... 100 ..... 1010111 @r_vm
5001366fc79SLIU Zhiweivmsle_vi        011101 . ..... ..... 011 ..... 1010111 @r_vm
5011366fc79SLIU Zhiweivmsgtu_vx       011110 . ..... ..... 100 ..... 1010111 @r_vm
5021366fc79SLIU Zhiweivmsgtu_vi       011110 . ..... ..... 011 ..... 1010111 @r_vm
5031366fc79SLIU Zhiweivmsgt_vx        011111 . ..... ..... 100 ..... 1010111 @r_vm
5041366fc79SLIU Zhiweivmsgt_vi        011111 . ..... ..... 011 ..... 1010111 @r_vm
505558fa779SLIU Zhiweivminu_vv        000100 . ..... ..... 000 ..... 1010111 @r_vm
506558fa779SLIU Zhiweivminu_vx        000100 . ..... ..... 100 ..... 1010111 @r_vm
507558fa779SLIU Zhiweivmin_vv         000101 . ..... ..... 000 ..... 1010111 @r_vm
508558fa779SLIU Zhiweivmin_vx         000101 . ..... ..... 100 ..... 1010111 @r_vm
509558fa779SLIU Zhiweivmaxu_vv        000110 . ..... ..... 000 ..... 1010111 @r_vm
510558fa779SLIU Zhiweivmaxu_vx        000110 . ..... ..... 100 ..... 1010111 @r_vm
511558fa779SLIU Zhiweivmax_vv         000111 . ..... ..... 000 ..... 1010111 @r_vm
512558fa779SLIU Zhiweivmax_vx         000111 . ..... ..... 100 ..... 1010111 @r_vm
513958b85f3SLIU Zhiweivmul_vv         100101 . ..... ..... 010 ..... 1010111 @r_vm
514958b85f3SLIU Zhiweivmul_vx         100101 . ..... ..... 110 ..... 1010111 @r_vm
515958b85f3SLIU Zhiweivmulh_vv        100111 . ..... ..... 010 ..... 1010111 @r_vm
516958b85f3SLIU Zhiweivmulh_vx        100111 . ..... ..... 110 ..... 1010111 @r_vm
517958b85f3SLIU Zhiweivmulhu_vv       100100 . ..... ..... 010 ..... 1010111 @r_vm
518958b85f3SLIU Zhiweivmulhu_vx       100100 . ..... ..... 110 ..... 1010111 @r_vm
519958b85f3SLIU Zhiweivmulhsu_vv      100110 . ..... ..... 010 ..... 1010111 @r_vm
520958b85f3SLIU Zhiweivmulhsu_vx      100110 . ..... ..... 110 ..... 1010111 @r_vm
52185e6658cSLIU Zhiweivdivu_vv        100000 . ..... ..... 010 ..... 1010111 @r_vm
52285e6658cSLIU Zhiweivdivu_vx        100000 . ..... ..... 110 ..... 1010111 @r_vm
52385e6658cSLIU Zhiweivdiv_vv         100001 . ..... ..... 010 ..... 1010111 @r_vm
52485e6658cSLIU Zhiweivdiv_vx         100001 . ..... ..... 110 ..... 1010111 @r_vm
52585e6658cSLIU Zhiweivremu_vv        100010 . ..... ..... 010 ..... 1010111 @r_vm
52685e6658cSLIU Zhiweivremu_vx        100010 . ..... ..... 110 ..... 1010111 @r_vm
52785e6658cSLIU Zhiweivrem_vv         100011 . ..... ..... 010 ..... 1010111 @r_vm
52885e6658cSLIU Zhiweivrem_vx         100011 . ..... ..... 110 ..... 1010111 @r_vm
52997b1cba3SLIU Zhiweivwmulu_vv       111000 . ..... ..... 010 ..... 1010111 @r_vm
53097b1cba3SLIU Zhiweivwmulu_vx       111000 . ..... ..... 110 ..... 1010111 @r_vm
53197b1cba3SLIU Zhiweivwmulsu_vv      111010 . ..... ..... 010 ..... 1010111 @r_vm
53297b1cba3SLIU Zhiweivwmulsu_vx      111010 . ..... ..... 110 ..... 1010111 @r_vm
53397b1cba3SLIU Zhiweivwmul_vv        111011 . ..... ..... 010 ..... 1010111 @r_vm
53497b1cba3SLIU Zhiweivwmul_vx        111011 . ..... ..... 110 ..... 1010111 @r_vm
53554df813aSLIU Zhiweivmacc_vv        101101 . ..... ..... 010 ..... 1010111 @r_vm
53654df813aSLIU Zhiweivmacc_vx        101101 . ..... ..... 110 ..... 1010111 @r_vm
53754df813aSLIU Zhiweivnmsac_vv       101111 . ..... ..... 010 ..... 1010111 @r_vm
53854df813aSLIU Zhiweivnmsac_vx       101111 . ..... ..... 110 ..... 1010111 @r_vm
53954df813aSLIU Zhiweivmadd_vv        101001 . ..... ..... 010 ..... 1010111 @r_vm
54054df813aSLIU Zhiweivmadd_vx        101001 . ..... ..... 110 ..... 1010111 @r_vm
54154df813aSLIU Zhiweivnmsub_vv       101011 . ..... ..... 010 ..... 1010111 @r_vm
54254df813aSLIU Zhiweivnmsub_vx       101011 . ..... ..... 110 ..... 1010111 @r_vm
5432b587b33SLIU Zhiweivwmaccu_vv      111100 . ..... ..... 010 ..... 1010111 @r_vm
5442b587b33SLIU Zhiweivwmaccu_vx      111100 . ..... ..... 110 ..... 1010111 @r_vm
5452b587b33SLIU Zhiweivwmacc_vv       111101 . ..... ..... 010 ..... 1010111 @r_vm
5462b587b33SLIU Zhiweivwmacc_vx       111101 . ..... ..... 110 ..... 1010111 @r_vm
547f51c3cf1SFrank Changvwmaccsu_vv     111111 . ..... ..... 010 ..... 1010111 @r_vm
548f51c3cf1SFrank Changvwmaccsu_vx     111111 . ..... ..... 110 ..... 1010111 @r_vm
549f51c3cf1SFrank Changvwmaccus_vx     111110 . ..... ..... 110 ..... 1010111 @r_vm
550f020a7a1SLIU Zhiweivmv_v_v         010111 1 00000 ..... 000 ..... 1010111 @r2
551f020a7a1SLIU Zhiweivmv_v_x         010111 1 00000 ..... 100 ..... 1010111 @r2
552f020a7a1SLIU Zhiweivmv_v_i         010111 1 00000 ..... 011 ..... 1010111 @r2
553f020a7a1SLIU Zhiweivmerge_vvm      010111 0 ..... ..... 000 ..... 1010111 @r_vm_0
554f020a7a1SLIU Zhiweivmerge_vxm      010111 0 ..... ..... 100 ..... 1010111 @r_vm_0
555f020a7a1SLIU Zhiweivmerge_vim      010111 0 ..... ..... 011 ..... 1010111 @r_vm_0
556eb2650e3SLIU Zhiweivsaddu_vv       100000 . ..... ..... 000 ..... 1010111 @r_vm
557eb2650e3SLIU Zhiweivsaddu_vx       100000 . ..... ..... 100 ..... 1010111 @r_vm
558eb2650e3SLIU Zhiweivsaddu_vi       100000 . ..... ..... 011 ..... 1010111 @r_vm
559eb2650e3SLIU Zhiweivsadd_vv        100001 . ..... ..... 000 ..... 1010111 @r_vm
560eb2650e3SLIU Zhiweivsadd_vx        100001 . ..... ..... 100 ..... 1010111 @r_vm
561eb2650e3SLIU Zhiweivsadd_vi        100001 . ..... ..... 011 ..... 1010111 @r_vm
562eb2650e3SLIU Zhiweivssubu_vv       100010 . ..... ..... 000 ..... 1010111 @r_vm
563eb2650e3SLIU Zhiweivssubu_vx       100010 . ..... ..... 100 ..... 1010111 @r_vm
564eb2650e3SLIU Zhiweivssub_vv        100011 . ..... ..... 000 ..... 1010111 @r_vm
565eb2650e3SLIU Zhiweivssub_vx        100011 . ..... ..... 100 ..... 1010111 @r_vm
5668b99a110SFrank Changvaadd_vv        001001 . ..... ..... 010 ..... 1010111 @r_vm
5678b99a110SFrank Changvaadd_vx        001001 . ..... ..... 110 ..... 1010111 @r_vm
5688b99a110SFrank Changvaaddu_vv       001000 . ..... ..... 010 ..... 1010111 @r_vm
5698b99a110SFrank Changvaaddu_vx       001000 . ..... ..... 110 ..... 1010111 @r_vm
5708b99a110SFrank Changvasub_vv        001011 . ..... ..... 010 ..... 1010111 @r_vm
5718b99a110SFrank Changvasub_vx        001011 . ..... ..... 110 ..... 1010111 @r_vm
5728b99a110SFrank Changvasubu_vv       001010 . ..... ..... 010 ..... 1010111 @r_vm
5738b99a110SFrank Changvasubu_vx       001010 . ..... ..... 110 ..... 1010111 @r_vm
5749f0ff9e5SLIU Zhiweivsmul_vv        100111 . ..... ..... 000 ..... 1010111 @r_vm
5759f0ff9e5SLIU Zhiweivsmul_vx        100111 . ..... ..... 100 ..... 1010111 @r_vm
57604a61406SLIU Zhiweivssrl_vv        101010 . ..... ..... 000 ..... 1010111 @r_vm
57704a61406SLIU Zhiweivssrl_vx        101010 . ..... ..... 100 ..... 1010111 @r_vm
57804a61406SLIU Zhiweivssrl_vi        101010 . ..... ..... 011 ..... 1010111 @r_vm
57904a61406SLIU Zhiweivssra_vv        101011 . ..... ..... 000 ..... 1010111 @r_vm
58004a61406SLIU Zhiweivssra_vx        101011 . ..... ..... 100 ..... 1010111 @r_vm
58104a61406SLIU Zhiweivssra_vi        101011 . ..... ..... 011 ..... 1010111 @r_vm
582a70b3a73SFrank Changvnclipu_wv      101110 . ..... ..... 000 ..... 1010111 @r_vm
583a70b3a73SFrank Changvnclipu_wx      101110 . ..... ..... 100 ..... 1010111 @r_vm
584a70b3a73SFrank Changvnclipu_wi      101110 . ..... ..... 011 ..... 1010111 @r_vm
585a70b3a73SFrank Changvnclip_wv       101111 . ..... ..... 000 ..... 1010111 @r_vm
586a70b3a73SFrank Changvnclip_wx       101111 . ..... ..... 100 ..... 1010111 @r_vm
587a70b3a73SFrank Changvnclip_wi       101111 . ..... ..... 011 ..... 1010111 @r_vm
588ce2a0343SLIU Zhiweivfadd_vv        000000 . ..... ..... 001 ..... 1010111 @r_vm
589ce2a0343SLIU Zhiweivfadd_vf        000000 . ..... ..... 101 ..... 1010111 @r_vm
590ce2a0343SLIU Zhiweivfsub_vv        000010 . ..... ..... 001 ..... 1010111 @r_vm
591ce2a0343SLIU Zhiweivfsub_vf        000010 . ..... ..... 101 ..... 1010111 @r_vm
592ce2a0343SLIU Zhiweivfrsub_vf       100111 . ..... ..... 101 ..... 1010111 @r_vm
593eeffab2eSLIU Zhiweivfwadd_vv       110000 . ..... ..... 001 ..... 1010111 @r_vm
594eeffab2eSLIU Zhiweivfwadd_vf       110000 . ..... ..... 101 ..... 1010111 @r_vm
595eeffab2eSLIU Zhiweivfwadd_wv       110100 . ..... ..... 001 ..... 1010111 @r_vm
596eeffab2eSLIU Zhiweivfwadd_wf       110100 . ..... ..... 101 ..... 1010111 @r_vm
597eeffab2eSLIU Zhiweivfwsub_vv       110010 . ..... ..... 001 ..... 1010111 @r_vm
598eeffab2eSLIU Zhiweivfwsub_vf       110010 . ..... ..... 101 ..... 1010111 @r_vm
599eeffab2eSLIU Zhiweivfwsub_wv       110110 . ..... ..... 001 ..... 1010111 @r_vm
600eeffab2eSLIU Zhiweivfwsub_wf       110110 . ..... ..... 101 ..... 1010111 @r_vm
6010e0057cbSLIU Zhiweivfmul_vv        100100 . ..... ..... 001 ..... 1010111 @r_vm
6020e0057cbSLIU Zhiweivfmul_vf        100100 . ..... ..... 101 ..... 1010111 @r_vm
6030e0057cbSLIU Zhiweivfdiv_vv        100000 . ..... ..... 001 ..... 1010111 @r_vm
6040e0057cbSLIU Zhiweivfdiv_vf        100000 . ..... ..... 101 ..... 1010111 @r_vm
6050e0057cbSLIU Zhiweivfrdiv_vf       100001 . ..... ..... 101 ..... 1010111 @r_vm
606f7c7b7cdSLIU Zhiweivfwmul_vv       111000 . ..... ..... 001 ..... 1010111 @r_vm
607f7c7b7cdSLIU Zhiweivfwmul_vf       111000 . ..... ..... 101 ..... 1010111 @r_vm
6084aa5a8feSLIU Zhiweivfmacc_vv       101100 . ..... ..... 001 ..... 1010111 @r_vm
6094aa5a8feSLIU Zhiweivfnmacc_vv      101101 . ..... ..... 001 ..... 1010111 @r_vm
6104aa5a8feSLIU Zhiweivfnmacc_vf      101101 . ..... ..... 101 ..... 1010111 @r_vm
6114aa5a8feSLIU Zhiweivfmacc_vf       101100 . ..... ..... 101 ..... 1010111 @r_vm
6124aa5a8feSLIU Zhiweivfmsac_vv       101110 . ..... ..... 001 ..... 1010111 @r_vm
6134aa5a8feSLIU Zhiweivfmsac_vf       101110 . ..... ..... 101 ..... 1010111 @r_vm
6144aa5a8feSLIU Zhiweivfnmsac_vv      101111 . ..... ..... 001 ..... 1010111 @r_vm
6154aa5a8feSLIU Zhiweivfnmsac_vf      101111 . ..... ..... 101 ..... 1010111 @r_vm
6164aa5a8feSLIU Zhiweivfmadd_vv       101000 . ..... ..... 001 ..... 1010111 @r_vm
6174aa5a8feSLIU Zhiweivfmadd_vf       101000 . ..... ..... 101 ..... 1010111 @r_vm
6184aa5a8feSLIU Zhiweivfnmadd_vv      101001 . ..... ..... 001 ..... 1010111 @r_vm
6194aa5a8feSLIU Zhiweivfnmadd_vf      101001 . ..... ..... 101 ..... 1010111 @r_vm
6204aa5a8feSLIU Zhiweivfmsub_vv       101010 . ..... ..... 001 ..... 1010111 @r_vm
6214aa5a8feSLIU Zhiweivfmsub_vf       101010 . ..... ..... 101 ..... 1010111 @r_vm
6224aa5a8feSLIU Zhiweivfnmsub_vv      101011 . ..... ..... 001 ..... 1010111 @r_vm
6234aa5a8feSLIU Zhiweivfnmsub_vf      101011 . ..... ..... 101 ..... 1010111 @r_vm
6240dd50959SLIU Zhiweivfwmacc_vv      111100 . ..... ..... 001 ..... 1010111 @r_vm
6250dd50959SLIU Zhiweivfwmacc_vf      111100 . ..... ..... 101 ..... 1010111 @r_vm
6260dd50959SLIU Zhiweivfwnmacc_vv     111101 . ..... ..... 001 ..... 1010111 @r_vm
6270dd50959SLIU Zhiweivfwnmacc_vf     111101 . ..... ..... 101 ..... 1010111 @r_vm
6280dd50959SLIU Zhiweivfwmsac_vv      111110 . ..... ..... 001 ..... 1010111 @r_vm
6290dd50959SLIU Zhiweivfwmsac_vf      111110 . ..... ..... 101 ..... 1010111 @r_vm
6300dd50959SLIU Zhiweivfwnmsac_vv     111111 . ..... ..... 001 ..... 1010111 @r_vm
6310dd50959SLIU Zhiweivfwnmsac_vf     111111 . ..... ..... 101 ..... 1010111 @r_vm
63220f2079aSFrank Changvfsqrt_v        010011 . ..... 00000 001 ..... 1010111 @r2_vm
633e848a1e5SFrank Changvfrsqrt7_v      010011 . ..... 00100 001 ..... 1010111 @r2_vm
63455c35407SFrank Changvfrec7_v        010011 . ..... 00101 001 ..... 1010111 @r2_vm
635230b53ddSLIU Zhiweivfmin_vv        000100 . ..... ..... 001 ..... 1010111 @r_vm
636230b53ddSLIU Zhiweivfmin_vf        000100 . ..... ..... 101 ..... 1010111 @r_vm
637230b53ddSLIU Zhiweivfmax_vv        000110 . ..... ..... 001 ..... 1010111 @r_vm
638230b53ddSLIU Zhiweivfmax_vf        000110 . ..... ..... 101 ..... 1010111 @r_vm
6391d426b81SLIU Zhiweivfsgnj_vv       001000 . ..... ..... 001 ..... 1010111 @r_vm
6401d426b81SLIU Zhiweivfsgnj_vf       001000 . ..... ..... 101 ..... 1010111 @r_vm
6411d426b81SLIU Zhiweivfsgnjn_vv      001001 . ..... ..... 001 ..... 1010111 @r_vm
6421d426b81SLIU Zhiweivfsgnjn_vf      001001 . ..... ..... 101 ..... 1010111 @r_vm
6431d426b81SLIU Zhiweivfsgnjx_vv      001010 . ..... ..... 001 ..... 1010111 @r_vm
6441d426b81SLIU Zhiweivfsgnjx_vf      001010 . ..... ..... 101 ..... 1010111 @r_vm
6458500d4abSFrank Changvfslide1up_vf   001110 . ..... ..... 101 ..... 1010111 @r_vm
6468500d4abSFrank Changvfslide1down_vf 001111 . ..... ..... 101 ..... 1010111 @r_vm
6472a68e9e5SLIU Zhiweivmfeq_vv        011000 . ..... ..... 001 ..... 1010111 @r_vm
6482a68e9e5SLIU Zhiweivmfeq_vf        011000 . ..... ..... 101 ..... 1010111 @r_vm
6492a68e9e5SLIU Zhiweivmfne_vv        011100 . ..... ..... 001 ..... 1010111 @r_vm
6502a68e9e5SLIU Zhiweivmfne_vf        011100 . ..... ..... 101 ..... 1010111 @r_vm
6512a68e9e5SLIU Zhiweivmflt_vv        011011 . ..... ..... 001 ..... 1010111 @r_vm
6522a68e9e5SLIU Zhiweivmflt_vf        011011 . ..... ..... 101 ..... 1010111 @r_vm
6532a68e9e5SLIU Zhiweivmfle_vv        011001 . ..... ..... 001 ..... 1010111 @r_vm
6542a68e9e5SLIU Zhiweivmfle_vf        011001 . ..... ..... 101 ..... 1010111 @r_vm
6552a68e9e5SLIU Zhiweivmfgt_vf        011101 . ..... ..... 101 ..... 1010111 @r_vm
6562a68e9e5SLIU Zhiweivmfge_vf        011111 . ..... ..... 101 ..... 1010111 @r_vm
6570676d8e3SFrank Changvfclass_v       010011 . ..... 10000 001 ..... 1010111 @r2_vm
65864ab5846SLIU Zhiweivfmerge_vfm     010111 0 ..... ..... 101 ..... 1010111 @r_vm_0
65964ab5846SLIU Zhiweivfmv_v_f        010111 1 00000 ..... 101 ..... 1010111 @r2
660900da87aSFrank Chang
661900da87aSFrank Changvfcvt_xu_f_v       010010 . ..... 00000 001 ..... 1010111 @r2_vm
662900da87aSFrank Changvfcvt_x_f_v        010010 . ..... 00001 001 ..... 1010111 @r2_vm
663900da87aSFrank Changvfcvt_f_xu_v       010010 . ..... 00010 001 ..... 1010111 @r2_vm
664900da87aSFrank Changvfcvt_f_x_v        010010 . ..... 00011 001 ..... 1010111 @r2_vm
665900da87aSFrank Changvfcvt_rtz_xu_f_v   010010 . ..... 00110 001 ..... 1010111 @r2_vm
666900da87aSFrank Changvfcvt_rtz_x_f_v    010010 . ..... 00111 001 ..... 1010111 @r2_vm
6673ce4c09dSFrank Chang
6683ce4c09dSFrank Changvfwcvt_xu_f_v      010010 . ..... 01000 001 ..... 1010111 @r2_vm
6693ce4c09dSFrank Changvfwcvt_x_f_v       010010 . ..... 01001 001 ..... 1010111 @r2_vm
6703ce4c09dSFrank Changvfwcvt_f_xu_v      010010 . ..... 01010 001 ..... 1010111 @r2_vm
6713ce4c09dSFrank Changvfwcvt_f_x_v       010010 . ..... 01011 001 ..... 1010111 @r2_vm
6723ce4c09dSFrank Changvfwcvt_f_f_v       010010 . ..... 01100 001 ..... 1010111 @r2_vm
6733ce4c09dSFrank Changvfwcvt_rtz_xu_f_v  010010 . ..... 01110 001 ..... 1010111 @r2_vm
6743ce4c09dSFrank Changvfwcvt_rtz_x_f_v   010010 . ..... 01111 001 ..... 1010111 @r2_vm
675ff679b58SFrank Chang
676ff679b58SFrank Changvfncvt_xu_f_w      010010 . ..... 10000 001 ..... 1010111 @r2_vm
677ff679b58SFrank Changvfncvt_x_f_w       010010 . ..... 10001 001 ..... 1010111 @r2_vm
678ff679b58SFrank Changvfncvt_f_xu_w      010010 . ..... 10010 001 ..... 1010111 @r2_vm
679ff679b58SFrank Changvfncvt_f_x_w       010010 . ..... 10011 001 ..... 1010111 @r2_vm
680ff679b58SFrank Changvfncvt_f_f_w       010010 . ..... 10100 001 ..... 1010111 @r2_vm
681ff679b58SFrank Changvfncvt_rod_f_f_w   010010 . ..... 10101 001 ..... 1010111 @r2_vm
682ff679b58SFrank Changvfncvt_rtz_xu_f_w  010010 . ..... 10110 001 ..... 1010111 @r2_vm
683ff679b58SFrank Changvfncvt_rtz_x_f_w   010010 . ..... 10111 001 ..... 1010111 @r2_vm
684ff679b58SFrank Chang
685fe5c9ab1SLIU Zhiweivredsum_vs      000000 . ..... ..... 010 ..... 1010111 @r_vm
686fe5c9ab1SLIU Zhiweivredand_vs      000001 . ..... ..... 010 ..... 1010111 @r_vm
687fe5c9ab1SLIU Zhiweivredor_vs       000010 . ..... ..... 010 ..... 1010111 @r_vm
688fe5c9ab1SLIU Zhiweivredxor_vs      000011 . ..... ..... 010 ..... 1010111 @r_vm
689fe5c9ab1SLIU Zhiweivredminu_vs     000100 . ..... ..... 010 ..... 1010111 @r_vm
690fe5c9ab1SLIU Zhiweivredmin_vs      000101 . ..... ..... 010 ..... 1010111 @r_vm
691fe5c9ab1SLIU Zhiweivredmaxu_vs     000110 . ..... ..... 010 ..... 1010111 @r_vm
692fe5c9ab1SLIU Zhiweivredmax_vs      000111 . ..... ..... 010 ..... 1010111 @r_vm
693bba71820SLIU Zhiweivwredsumu_vs    110000 . ..... ..... 000 ..... 1010111 @r_vm
694bba71820SLIU Zhiweivwredsum_vs     110001 . ..... ..... 000 ..... 1010111 @r_vm
695523547f1SLIU Zhiwei# Vector ordered and unordered reduction sum
696a3ab69f9SYang Liuvfredusum_vs    000001 . ..... ..... 001 ..... 1010111 @r_vm
697a3ab69f9SYang Liuvfredosum_vs    000011 . ..... ..... 001 ..... 1010111 @r_vm
698523547f1SLIU Zhiweivfredmin_vs     000101 . ..... ..... 001 ..... 1010111 @r_vm
699523547f1SLIU Zhiweivfredmax_vs     000111 . ..... ..... 001 ..... 1010111 @r_vm
700696b0c26SLIU Zhiwei# Vector widening ordered and unordered float reduction sum
701a3ab69f9SYang Liuvfwredusum_vs   110001 . ..... ..... 001 ..... 1010111 @r_vm
702a3ab69f9SYang Liuvfwredosum_vs   110011 . ..... ..... 001 ..... 1010111 @r_vm
703c21f34aeSLIU Zhiweivmand_mm        011001 - ..... ..... 010 ..... 1010111 @r
704c21f34aeSLIU Zhiweivmnand_mm       011101 - ..... ..... 010 ..... 1010111 @r
7059c0d2559SFrank Changvmandn_mm       011000 - ..... ..... 010 ..... 1010111 @r
706c21f34aeSLIU Zhiweivmxor_mm        011011 - ..... ..... 010 ..... 1010111 @r
707c21f34aeSLIU Zhiweivmor_mm         011010 - ..... ..... 010 ..... 1010111 @r
708c21f34aeSLIU Zhiweivmnor_mm        011110 - ..... ..... 010 ..... 1010111 @r
7099c0d2559SFrank Changvmorn_mm        011100 - ..... ..... 010 ..... 1010111 @r
710c21f34aeSLIU Zhiweivmxnor_mm       011111 - ..... ..... 010 ..... 1010111 @r
7110014aa74SFrank Changvcpop_m         010000 . ..... 10000 010 ..... 1010111 @r2_vm
712d71a24fcSFrank Changvfirst_m        010000 . ..... 10001 010 ..... 1010111 @r2_vm
71340c1495dSFrank Changvmsbf_m         010100 . ..... 00001 010 ..... 1010111 @r2_vm
71440c1495dSFrank Changvmsif_m         010100 . ..... 00011 010 ..... 1010111 @r2_vm
71540c1495dSFrank Changvmsof_m         010100 . ..... 00010 010 ..... 1010111 @r2_vm
716ee17eaa1SFrank Changviota_m         010100 . ..... 10000 010 ..... 1010111 @r2_vm
717f4f47e04SFrank Changvid_v           010100 . 00000 10001 010 ..... 1010111 @r1_vm
718dedc53cbSFrank Changvmv_x_s         010000 1 ..... 00000 010 ..... 1010111 @r2rd
719dedc53cbSFrank Changvmv_s_x         010000 1 00000 ..... 110 ..... 1010111 @r2
7205c4eb8fbSFrank Changvfmv_f_s        010000 1 ..... 00000 001 ..... 1010111 @r2rd
7215c4eb8fbSFrank Changvfmv_s_f        010000 1 00000 ..... 101 ..... 1010111 @r2
722ec17e036SLIU Zhiweivslideup_vx     001110 . ..... ..... 100 ..... 1010111 @r_vm
723ec17e036SLIU Zhiweivslideup_vi     001110 . ..... ..... 011 ..... 1010111 @r_vm
724ec17e036SLIU Zhiweivslide1up_vx    001110 . ..... ..... 110 ..... 1010111 @r_vm
725ec17e036SLIU Zhiweivslidedown_vx   001111 . ..... ..... 100 ..... 1010111 @r_vm
726ec17e036SLIU Zhiweivslidedown_vi   001111 . ..... ..... 011 ..... 1010111 @r_vm
727ec17e036SLIU Zhiweivslide1down_vx  001111 . ..... ..... 110 ..... 1010111 @r_vm
728e4b83d5cSLIU Zhiweivrgather_vv     001100 . ..... ..... 000 ..... 1010111 @r_vm
72950bfb45bSFrank Changvrgatherei16_vv 001110 . ..... ..... 000 ..... 1010111 @r_vm
730e4b83d5cSLIU Zhiweivrgather_vx     001100 . ..... ..... 100 ..... 1010111 @r_vm
731e4b83d5cSLIU Zhiweivrgather_vi     001100 . ..... ..... 011 ..... 1010111 @r_vm
73231bf42a2SLIU Zhiweivcompress_vm    010111 - ..... ..... 010 ..... 1010111 @r
7336b85975eSFrank Changvmv1r_v         100111 1 ..... 00000 011 ..... 1010111 @r2rd
7346b85975eSFrank Changvmv2r_v         100111 1 ..... 00001 011 ..... 1010111 @r2rd
7356b85975eSFrank Changvmv4r_v         100111 1 ..... 00011 011 ..... 1010111 @r2rd
7366b85975eSFrank Changvmv8r_v         100111 1 ..... 00111 011 ..... 1010111 @r2rd
73743740e3aSLIU Zhiwei
738cd01340eSFrank Chang# Vector Integer Extension
739cd01340eSFrank Changvzext_vf2       010010 . ..... 00110 010 ..... 1010111 @r2_vm
740cd01340eSFrank Changvzext_vf4       010010 . ..... 00100 010 ..... 1010111 @r2_vm
741cd01340eSFrank Changvzext_vf8       010010 . ..... 00010 010 ..... 1010111 @r2_vm
742cd01340eSFrank Changvsext_vf2       010010 . ..... 00111 010 ..... 1010111 @r2_vm
743cd01340eSFrank Changvsext_vf4       010010 . ..... 00101 010 ..... 1010111 @r2_vm
744cd01340eSFrank Changvsext_vf8       010010 . ..... 00011 010 ..... 1010111 @r2_vm
745cd01340eSFrank Chang
7466b5c8eb3SFrank Changvsetvli         0 ........... ..... 111 ..... 1010111  @r2_zimm11
74734a2c2d8SFrank Changvsetivli        11 .......... ..... 111 ..... 1010111  @r2_zimm10
7482b7168fcSLIU Zhiweivsetvl          1000000 ..... ..... 111 ..... 1010111  @r
749daf866b6SAlistair Francis
750260b594dSChristoph Muellner# *** Zawrs Standard Extension ***
751260b594dSChristoph Muellnerwrs_nto    000000001101 00000 000 00000 1110011
752260b594dSChristoph Muellnerwrs_sto    000000011101 00000 000 00000 1110011
753260b594dSChristoph Muellner
754bb4dc158SPhilipp Tomsich# *** RV32 Zba Standard Extension ***
755bb4dc158SPhilipp Tomsichsh1add     0010000 .......... 010 ..... 0110011 @r
756bb4dc158SPhilipp Tomsichsh2add     0010000 .......... 100 ..... 0110011 @r
757bb4dc158SPhilipp Tomsichsh3add     0010000 .......... 110 ..... 0110011 @r
758bb4dc158SPhilipp Tomsich
759bb4dc158SPhilipp Tomsich# *** RV64 Zba Standard Extension (in addition to RV32 Zba) ***
760bb4dc158SPhilipp Tomsichadd_uw     0000100 .......... 000 ..... 0111011 @r
761bb4dc158SPhilipp Tomsichsh1add_uw  0010000 .......... 010 ..... 0111011 @r
762bb4dc158SPhilipp Tomsichsh2add_uw  0010000 .......... 100 ..... 0111011 @r
763bb4dc158SPhilipp Tomsichsh3add_uw  0010000 .......... 110 ..... 0111011 @r
764bb4dc158SPhilipp Tomsichslli_uw    00001 ............ 001 ..... 0011011 @sh
765bb4dc158SPhilipp Tomsich
766d8e81e3cSWeiwei Li# *** RV32 Zbb/Zbkb Standard Extension ***
76716c38f36SPhilipp Tomsichandn       0100000 .......... 111 ..... 0110011 @r
768d8e81e3cSWeiwei Lirol        0110000 .......... 001 ..... 0110011 @r
769d8e81e3cSWeiwei Liror        0110000 .......... 101 ..... 0110011 @r
770d8e81e3cSWeiwei Lirori       01100 ............ 101 ..... 0010011 @sh
771d8e81e3cSWeiwei Li# The encoding for rev8 differs between RV32 and RV64.
772d8e81e3cSWeiwei Li# rev8_32 denotes the RV32 variant.
773d8e81e3cSWeiwei Lirev8_32    011010 011000 ..... 101 ..... 0010011 @r2
774d8e81e3cSWeiwei Li# The encoding for zext.h differs between RV32 and RV64.
775d8e81e3cSWeiwei Li# zext_h_32 denotes the RV32 variant.
776d8e81e3cSWeiwei Li{
777d8e81e3cSWeiwei Li  zext_h_32  0000100 00000 ..... 100 ..... 0110011 @r2
778d8e81e3cSWeiwei Li  pack       0000100 ..... ..... 100 ..... 0110011 @r
779d8e81e3cSWeiwei Li}
780d8e81e3cSWeiwei Lixnor       0100000 .......... 100 ..... 0110011 @r
781d8e81e3cSWeiwei Li# *** RV32 extra Zbb Standard Extension ***
78243824018SKito Chengclz        011000 000000 ..... 001 ..... 0010011 @r2
7831e16310cSFrank Changcpop       011000 000010 ..... 001 ..... 0010011 @r2
78416c38f36SPhilipp Tomsichctz        011000 000001 ..... 001 ..... 0010011 @r2
78516c38f36SPhilipp Tomsichmax        0000101 .......... 110 ..... 0110011 @r
78616c38f36SPhilipp Tomsichmaxu       0000101 .......... 111 ..... 0110011 @r
78716c38f36SPhilipp Tomsichmin        0000101 .......... 100 ..... 0110011 @r
78816c38f36SPhilipp Tomsichminu       0000101 .......... 101 ..... 0110011 @r
789d7a4fcb0SPhilipp Tomsichorc_b      001010 000111 ..... 101 ..... 0010011 @r2
79016c38f36SPhilipp Tomsichorn        0100000 .......... 110 ..... 0110011 @r
7912a819738SKito Chengsext_b     011000 000100 ..... 001 ..... 0010011 @r2
7922a819738SKito Chengsext_h     011000 000101 ..... 001 ..... 0010011 @r2
793d8e81e3cSWeiwei Li# *** RV32 extra Zbkb Standard Extension ***
794d8e81e3cSWeiwei Librev8      0110100 00111 ..... 101 ..... 0010011 @r2  #grevi
795d8e81e3cSWeiwei Lipackh      0000100  .......... 111 ..... 0110011 @r
796d8e81e3cSWeiwei Liunzip      0000100 01111 ..... 101 ..... 0010011 @r2  #unshfl
797d8e81e3cSWeiwei Lizip        0000100 01111 ..... 001 ..... 0010011 @r2  #shfl
79816c38f36SPhilipp Tomsich
799d8e81e3cSWeiwei Li# *** RV64 Zbb/Zbkb Standard Extension (in addition to RV32 Zbb/Zbkb) ***
800a1095bdcSPhilipp Tomsich# The encoding for rev8 differs between RV32 and RV64.
801a1095bdcSPhilipp Tomsich# When executing on RV64, the encoding used in RV32 is an illegal
802a1095bdcSPhilipp Tomsich# instruction, so we use different handler functions to differentiate.
803a1095bdcSPhilipp Tomsichrev8_64    011010 111000 ..... 101 ..... 0010011 @r2
80416c38f36SPhilipp Tomsichrolw       0110000 .......... 001 ..... 0111011 @r
80516c38f36SPhilipp Tomsichroriw      0110000 .......... 101 ..... 0011011 @sh5
80616c38f36SPhilipp Tomsichrorw       0110000 .......... 101 ..... 0111011 @r
80706dfa8a5SPhilipp Tomsich# The encoding for zext.h differs between RV32 and RV64.
80806dfa8a5SPhilipp Tomsich# When executing on RV64, the encoding used in RV32 is an illegal
80906dfa8a5SPhilipp Tomsich# instruction, so we use different handler functions to differentiate.
810d8e81e3cSWeiwei Li{
81106dfa8a5SPhilipp Tomsich  zext_h_64  0000100 00000 ..... 100 ..... 0111011 @r2
812d8e81e3cSWeiwei Li  packw      0000100 ..... ..... 100 ..... 0111011 @r
813d8e81e3cSWeiwei Li}
814d8e81e3cSWeiwei Li# *** RV64 extra Zbb Standard Extension (in addition to RV32 Zbb) ***
815d8e81e3cSWeiwei Liclzw       0110000 00000 ..... 001 ..... 0011011 @r2
816d8e81e3cSWeiwei Lictzw       0110000 00001 ..... 001 ..... 0011011 @r2
817d8e81e3cSWeiwei Licpopw      0110000 00010 ..... 001 ..... 0011011 @r2
81816c38f36SPhilipp Tomsich
8195cc69cebSWeiwei Li# *** RV32 Zbc/Zbkc Standard Extension ***
820fd4b81a3SPhilipp Tomsichclmul      0000101 .......... 001 ..... 0110011 @r
821fd4b81a3SPhilipp Tomsichclmulh     0000101 .......... 011 ..... 0110011 @r
8225cc69cebSWeiwei Li# *** RV32 extra Zbc Standard Extension ***
823fd4b81a3SPhilipp Tomsichclmulr     0000101 .......... 010 ..... 0110011 @r
824fd4b81a3SPhilipp Tomsich
82504963896SWeiwei Li# *** RV32 Zbkx Standard Extension ***
82604963896SWeiwei Lixperm4     0010100 .......... 010 ..... 0110011 @r
82704963896SWeiwei Lixperm8     0010100 .......... 100 ..... 0110011 @r
82804963896SWeiwei Li
829f36a4a89SPhilipp Tomsich# *** RV32 Zbs Standard Extension ***
830f36a4a89SPhilipp Tomsichbclr       0100100 .......... 001 ..... 0110011 @r
831f36a4a89SPhilipp Tomsichbclri      01001. ........... 001 ..... 0010011 @sh
832f36a4a89SPhilipp Tomsichbext       0100100 .......... 101 ..... 0110011 @r
833f36a4a89SPhilipp Tomsichbexti      01001. ........... 101 ..... 0010011 @sh
834f36a4a89SPhilipp Tomsichbinv       0110100 .......... 001 ..... 0110011 @r
835f36a4a89SPhilipp Tomsichbinvi      01101. ........... 001 ..... 0010011 @sh
836f36a4a89SPhilipp Tomsichbset       0010100 .......... 001 ..... 0110011 @r
837f36a4a89SPhilipp Tomsichbseti      00101. ........... 001 ..... 0010011 @sh
838915f77b2SKito Cheng
839a47842d1SChristoph Müllner# *** Zfa Standard Extension ***
840a47842d1SChristoph Müllnerfli_s       1111000 00001 ..... 000 ..... 1010011 @r2
841a47842d1SChristoph Müllnerfli_d       1111001 00001 ..... 000 ..... 1010011 @r2
842a47842d1SChristoph Müllnerfli_h       1111010 00001 ..... 000 ..... 1010011 @r2
843a47842d1SChristoph Müllnerfminm_s     0010100 ..... ..... 010 ..... 1010011 @r
844a47842d1SChristoph Müllnerfmaxm_s     0010100 ..... ..... 011 ..... 1010011 @r
845a47842d1SChristoph Müllnerfminm_d     0010101 ..... ..... 010 ..... 1010011 @r
846a47842d1SChristoph Müllnerfmaxm_d     0010101 ..... ..... 011 ..... 1010011 @r
847a47842d1SChristoph Müllnerfminm_h     0010110 ..... ..... 010 ..... 1010011 @r
848a47842d1SChristoph Müllnerfmaxm_h     0010110 ..... ..... 011 ..... 1010011 @r
849a47842d1SChristoph Müllnerfround_s    0100000 00100 ..... ... ..... 1010011 @r2_rm
850a47842d1SChristoph Müllnerfroundnx_s  0100000 00101 ..... ... ..... 1010011 @r2_rm
851a47842d1SChristoph Müllnerfround_d    0100001 00100 ..... ... ..... 1010011 @r2_rm
852a47842d1SChristoph Müllnerfroundnx_d  0100001 00101 ..... ... ..... 1010011 @r2_rm
853a47842d1SChristoph Müllnerfround_h    0100010 00100 ..... ... ..... 1010011 @r2_rm
854a47842d1SChristoph Müllnerfroundnx_h  0100010 00101 ..... ... ..... 1010011 @r2_rm
855a47842d1SChristoph Müllnerfcvtmod_w_d 1100001 01000 ..... 001 ..... 1010011 @r2
856a47842d1SChristoph Müllnerfmvh_x_d    1110001 00001 ..... 000 ..... 1010011 @r2
857a47842d1SChristoph Müllnerfmvp_d_x    1011001 ..... ..... 000 ..... 1010011 @r
858a47842d1SChristoph Müllnerfleq_s      1010000 ..... ..... 100 ..... 1010011 @r
859a47842d1SChristoph Müllnerfltq_s      1010000 ..... ..... 101 ..... 1010011 @r
860a47842d1SChristoph Müllnerfleq_d      1010001 ..... ..... 100 ..... 1010011 @r
861a47842d1SChristoph Müllnerfltq_d      1010001 ..... ..... 101 ..... 1010011 @r
862a47842d1SChristoph Müllnerfleq_h      1010010 ..... ..... 100 ..... 1010011 @r
863a47842d1SChristoph Müllnerfltq_h      1010010 ..... ..... 101 ..... 1010011 @r
864a47842d1SChristoph Müllner
865915f77b2SKito Cheng# *** RV32 Zfh Extension ***
866915f77b2SKito Chengflh        ............   ..... 001 ..... 0000111 @i
867915f77b2SKito Chengfsh        .......  ..... ..... 001 ..... 0100111 @s
86800c1899fSKito Chengfmadd_h    ..... 10 ..... ..... ... ..... 1000011 @r4_rm
86900c1899fSKito Chengfmsub_h    ..... 10 ..... ..... ... ..... 1000111 @r4_rm
87000c1899fSKito Chengfnmsub_h   ..... 10 ..... ..... ... ..... 1001011 @r4_rm
87100c1899fSKito Chengfnmadd_h   ..... 10 ..... ..... ... ..... 1001111 @r4_rm
87200c1899fSKito Chengfadd_h     0000010  ..... ..... ... ..... 1010011 @r_rm
87300c1899fSKito Chengfsub_h     0000110  ..... ..... ... ..... 1010011 @r_rm
87400c1899fSKito Chengfmul_h     0001010  ..... ..... ... ..... 1010011 @r_rm
87500c1899fSKito Chengfdiv_h     0001110  ..... ..... ... ..... 1010011 @r_rm
87600c1899fSKito Chengfsqrt_h    0101110  00000 ..... ... ..... 1010011 @r2_rm
8777b03c8e5SKito Chengfsgnj_h    0010010  ..... ..... 000 ..... 1010011 @r
8787b03c8e5SKito Chengfsgnjn_h   0010010  ..... ..... 001 ..... 1010011 @r
8797b03c8e5SKito Chengfsgnjx_h   0010010  ..... ..... 010 ..... 1010011 @r
88000c1899fSKito Chengfmin_h     0010110  ..... ..... 000 ..... 1010011 @r
88100c1899fSKito Chengfmax_h     0010110  ..... ..... 001 ..... 1010011 @r
8827b03c8e5SKito Chengfcvt_h_s   0100010  00000 ..... ... ..... 1010011 @r2_rm
8837b03c8e5SKito Chengfcvt_s_h   0100000  00010 ..... ... ..... 1010011 @r2_rm
8847b03c8e5SKito Chengfcvt_h_d   0100010  00001 ..... ... ..... 1010011 @r2_rm
8857b03c8e5SKito Chengfcvt_d_h   0100001  00010 ..... ... ..... 1010011 @r2_rm
8867b03c8e5SKito Chengfcvt_w_h   1100010  00000 ..... ... ..... 1010011 @r2_rm
8877b03c8e5SKito Chengfcvt_wu_h  1100010  00001 ..... ... ..... 1010011 @r2_rm
8887b03c8e5SKito Chengfmv_x_h    1110010  00000 ..... 000 ..... 1010011 @r2
88911f9c450SKito Chengfeq_h      1010010  ..... ..... 010 ..... 1010011 @r
89011f9c450SKito Chengflt_h      1010010  ..... ..... 001 ..... 1010011 @r
89111f9c450SKito Chengfle_h      1010010  ..... ..... 000 ..... 1010011 @r
8926bc6fc96SKito Chengfclass_h   1110010  00000 ..... 001 ..... 1010011 @r2
8937b03c8e5SKito Chengfcvt_h_w   1101010  00000 ..... ... ..... 1010011 @r2_rm
8947b03c8e5SKito Chengfcvt_h_wu  1101010  00001 ..... ... ..... 1010011 @r2_rm
8957b03c8e5SKito Chengfmv_h_x    1111010  00000 ..... 000 ..... 1010011 @r2
8967b03c8e5SKito Cheng
8977b03c8e5SKito Cheng# *** RV64 Zfh Extension (in addition to RV32 Zfh) ***
8987b03c8e5SKito Chengfcvt_l_h   1100010  00010 ..... ... ..... 1010011 @r2_rm
8997b03c8e5SKito Chengfcvt_lu_h  1100010  00011 ..... ... ..... 1010011 @r2_rm
9007b03c8e5SKito Chengfcvt_h_l   1101010  00010 ..... ... ..... 1010011 @r2_rm
9017b03c8e5SKito Chengfcvt_h_lu  1101010  00011 ..... ... ..... 1010011 @r2_rm
902c5d77dddSWeiwei Li
903c5d77dddSWeiwei Li# *** Svinval Standard Extension ***
904c5d77dddSWeiwei Lisinval_vma        0001011 ..... ..... 000 00000 1110011 @sfence_vma
905c5d77dddSWeiwei Lisfence_w_inval    0001100 00000 00000 000 00000 1110011
906c5d77dddSWeiwei Lisfence_inval_ir   0001100 00001 00000 000 00000 1110011
907c5d77dddSWeiwei Lihinval_vvma       0010011 ..... ..... 000 00000 1110011 @hfence_vvma
908c5d77dddSWeiwei Lihinval_gvma       0110011 ..... ..... 000 00000 1110011 @hfence_gvma
90968d19b58SWeiwei Li
91068d19b58SWeiwei Li# *** RV32 Zknd Standard Extension ***
91168d19b58SWeiwei Liaes32dsmi   .. 10111 ..... ..... 000 ..... 0110011 @k_aes
91268d19b58SWeiwei Liaes32dsi    .. 10101 ..... ..... 000 ..... 0110011 @k_aes
9139e33e175SWeiwei Li# *** RV64 Zknd Standard Extension ***
9149e33e175SWeiwei Liaes64dsm    00 11111 ..... ..... 000 ..... 0110011 @r
9159e33e175SWeiwei Liaes64ds     00 11101 ..... ..... 000 ..... 0110011 @r
9169e33e175SWeiwei Liaes64im     00 11000 00000 ..... 001 ..... 0010011 @r2
91768d19b58SWeiwei Li# *** RV32 Zkne Standard Extension ***
91868d19b58SWeiwei Liaes32esmi   .. 10011 ..... ..... 000 ..... 0110011 @k_aes
91968d19b58SWeiwei Liaes32esi    .. 10001 ..... ..... 000 ..... 0110011 @k_aes
9209e33e175SWeiwei Li# *** RV64 Zkne Standard Extension ***
9219e33e175SWeiwei Liaes64es     00 11001 ..... ..... 000 ..... 0110011 @r
9229e33e175SWeiwei Liaes64esm    00 11011 ..... ..... 000 ..... 0110011 @r
9239e33e175SWeiwei Li# *** RV64 Zkne/zknd Standard Extension ***
9249e33e175SWeiwei Liaes64ks2    01 11111 ..... ..... 000 ..... 0110011 @r
9259e33e175SWeiwei Liaes64ks1i   00 11000 1.... ..... 001 ..... 0010011 @i_aes
926387e5d92SWeiwei Li# *** RV32 Zknh Standard Extension ***
927387e5d92SWeiwei Lisha256sig0  00 01000 00010 ..... 001 ..... 0010011 @r2
928387e5d92SWeiwei Lisha256sig1  00 01000 00011 ..... 001 ..... 0010011 @r2
929387e5d92SWeiwei Lisha256sum0  00 01000 00000 ..... 001 ..... 0010011 @r2
930387e5d92SWeiwei Lisha256sum1  00 01000 00001 ..... 001 ..... 0010011 @r2
931e9a7ef5dSWeiwei Lisha512sum0r 01 01000 ..... ..... 000 ..... 0110011 @r
932e9a7ef5dSWeiwei Lisha512sum1r 01 01001 ..... ..... 000 ..... 0110011 @r
933e9a7ef5dSWeiwei Lisha512sig0l 01 01010 ..... ..... 000 ..... 0110011 @r
934e9a7ef5dSWeiwei Lisha512sig0h 01 01110 ..... ..... 000 ..... 0110011 @r
935e9a7ef5dSWeiwei Lisha512sig1l 01 01011 ..... ..... 000 ..... 0110011 @r
936e9a7ef5dSWeiwei Lisha512sig1h 01 01111 ..... ..... 000 ..... 0110011 @r
9371f7f7b5eSWeiwei Li# *** RV64 Zknh Standard Extension ***
9381f7f7b5eSWeiwei Lisha512sig0  00 01000 00110 ..... 001 ..... 0010011 @r2
9391f7f7b5eSWeiwei Lisha512sig1  00 01000 00111 ..... 001 ..... 0010011 @r2
9401f7f7b5eSWeiwei Lisha512sum0  00 01000 00100 ..... 001 ..... 0010011 @r2
9411f7f7b5eSWeiwei Lisha512sum1  00 01000 00101 ..... 001 ..... 0010011 @r2
9420976083dSWeiwei Li# *** RV32 Zksh Standard Extension ***
9430976083dSWeiwei Lism3p0       00 01000 01000 ..... 001 ..... 0010011 @r2
9440976083dSWeiwei Lism3p1       00 01000 01001 ..... 001 ..... 0010011 @r2
9450976083dSWeiwei Li# *** RV32 Zksed Standard Extension ***
9460976083dSWeiwei Lism4ed       .. 11000 ..... ..... 000 ..... 0110011 @k_aes
9470976083dSWeiwei Lism4ks       .. 11010 ..... ..... 000 ..... 0110011 @k_aes
948b8e1f32cSWeiwei Li
949b8e1f32cSWeiwei Li# *** RV32 Zicond Standard Extension ***
950b8e1f32cSWeiwei Liczero_eqz   0000111  ..... ..... 101 ..... 0110011 @r
951b8e1f32cSWeiwei Liczero_nez   0000111  ..... ..... 111 ..... 0110011 @r
9525d1270caSWeiwei Li
9535d1270caSWeiwei Li# *** Zfbfmin Standard Extension ***
9545d1270caSWeiwei Lifcvt_bf16_s       0100010  01000 ..... ... ..... 1010011 @r2_rm
9555d1270caSWeiwei Lifcvt_s_bf16       0100000  00110 ..... ... ..... 1010011 @r2_rm
95687b27bfcSWeiwei Li
95787b27bfcSWeiwei Li# *** Zvfbfmin Standard Extension ***
95887b27bfcSWeiwei Livfncvtbf16_f_f_w  010010 . ..... 11101 001 ..... 1010111 @r2_vm
95987b27bfcSWeiwei Livfwcvtbf16_f_f_v  010010 . ..... 01101 001 ..... 1010111 @r2_vm
960adf772b0SWeiwei Li
961adf772b0SWeiwei Li# *** Zvfbfwma Standard Extension ***
962adf772b0SWeiwei Livfwmaccbf16_vv    111011 . ..... ..... 001 ..... 1010111 @r_vm
963adf772b0SWeiwei Livfwmaccbf16_vf    111011 . ..... ..... 101 ..... 1010111 @r_vm
964e13c7d3bSLawrence Hunter
965e13c7d3bSLawrence Hunter# *** Zvbc vector crypto extension ***
966e13c7d3bSLawrence Huntervclmul_vv   001100 . ..... ..... 010 ..... 1010111 @r_vm
967e13c7d3bSLawrence Huntervclmul_vx   001100 . ..... ..... 110 ..... 1010111 @r_vm
968e13c7d3bSLawrence Huntervclmulh_vv  001101 . ..... ..... 010 ..... 1010111 @r_vm
969e13c7d3bSLawrence Huntervclmulh_vx  001101 . ..... ..... 110 ..... 1010111 @r_vm
97006028472SDickon Hood
97106028472SDickon Hood# *** Zvbb vector crypto extension ***
97206028472SDickon Hoodvrol_vv     010101 . ..... ..... 000 ..... 1010111 @r_vm
97306028472SDickon Hoodvrol_vx     010101 . ..... ..... 100 ..... 1010111 @r_vm
97406028472SDickon Hoodvror_vv     010100 . ..... ..... 000 ..... 1010111 @r_vm
97506028472SDickon Hoodvror_vx     010100 . ..... ..... 100 ..... 1010111 @r_vm
97606028472SDickon Hoodvror_vi     01010. . ..... ..... 011 ..... 1010111 @r2_zimm6
97706028472SDickon Hoodvbrev8_v    010010 . ..... 01000 010 ..... 1010111 @r2_vm
97806028472SDickon Hoodvrev8_v     010010 . ..... 01001 010 ..... 1010111 @r2_vm
97906028472SDickon Hoodvandn_vv    000001 . ..... ..... 000 ..... 1010111 @r_vm
98006028472SDickon Hoodvandn_vx    000001 . ..... ..... 100 ..... 1010111 @r_vm
98106028472SDickon Hoodvbrev_v     010010 . ..... 01010 010 ..... 1010111 @r2_vm
98206028472SDickon Hoodvclz_v      010010 . ..... 01100 010 ..... 1010111 @r2_vm
98306028472SDickon Hoodvctz_v      010010 . ..... 01101 010 ..... 1010111 @r2_vm
98406028472SDickon Hoodvcpop_v     010010 . ..... 01110 010 ..... 1010111 @r2_vm
98506028472SDickon Hoodvwsll_vv    110101 . ..... ..... 000 ..... 1010111 @r_vm
98606028472SDickon Hoodvwsll_vx    110101 . ..... ..... 100 ..... 1010111 @r_vm
98706028472SDickon Hoodvwsll_vi    110101 . ..... ..... 011 ..... 1010111 @r_vm
988e972bf22SNazar Kazakov
989e972bf22SNazar Kazakov# *** Zvkned vector crypto extension ***
990e972bf22SNazar Kazakovvaesef_vv   101000 1 ..... 00011 010 ..... 1110111 @r2_vm_1
991e972bf22SNazar Kazakovvaesef_vs   101001 1 ..... 00011 010 ..... 1110111 @r2_vm_1
992e972bf22SNazar Kazakovvaesdf_vv   101000 1 ..... 00001 010 ..... 1110111 @r2_vm_1
993e972bf22SNazar Kazakovvaesdf_vs   101001 1 ..... 00001 010 ..... 1110111 @r2_vm_1
994e972bf22SNazar Kazakovvaesem_vv   101000 1 ..... 00010 010 ..... 1110111 @r2_vm_1
995e972bf22SNazar Kazakovvaesem_vs   101001 1 ..... 00010 010 ..... 1110111 @r2_vm_1
996e972bf22SNazar Kazakovvaesdm_vv   101000 1 ..... 00000 010 ..... 1110111 @r2_vm_1
997e972bf22SNazar Kazakovvaesdm_vs   101001 1 ..... 00000 010 ..... 1110111 @r2_vm_1
998e972bf22SNazar Kazakovvaesz_vs    101001 1 ..... 00111 010 ..... 1110111 @r2_vm_1
999e972bf22SNazar Kazakovvaeskf1_vi  100010 1 ..... ..... 010 ..... 1110111 @r_vm_1
1000e972bf22SNazar Kazakovvaeskf2_vi  101010 1 ..... ..... 010 ..... 1110111 @r_vm_1
1001fcf19433SKiran Ostrolenk
1002fcf19433SKiran Ostrolenk# *** Zvknh vector crypto extension ***
1003fcf19433SKiran Ostrolenkvsha2ms_vv  101101 1 ..... ..... 010 ..... 1110111 @r_vm_1
1004fcf19433SKiran Ostrolenkvsha2ch_vv  101110 1 ..... ..... 010 ..... 1110111 @r_vm_1
1005fcf19433SKiran Ostrolenkvsha2cl_vv  101111 1 ..... ..... 010 ..... 1110111 @r_vm_1
10062350881cSLawrence Hunter
10072350881cSLawrence Hunter# *** Zvksh vector crypto extension ***
10082350881cSLawrence Huntervsm3me_vv   100000 1 ..... ..... 010 ..... 1110111 @r_vm_1
10092350881cSLawrence Huntervsm3c_vi    101011 1 ..... ..... 010 ..... 1110111 @r_vm_1
1010767eb035SNazar Kazakov
1011767eb035SNazar Kazakov# *** Zvkg vector crypto extension ***
1012767eb035SNazar Kazakovvghsh_vv    101100 1 ..... ..... 010 ..... 1110111 @r_vm_1
1013767eb035SNazar Kazakovvgmul_vv    101000 1 ..... 10001 010 ..... 1110111 @r2_vm_1
10148b045ff4SMax Chou
10158b045ff4SMax Chou# *** Zvksed vector crypto extension ***
10168b045ff4SMax Chouvsm4k_vi    100001 1 ..... ..... 010 ..... 1110111 @r_vm_1
10178b045ff4SMax Chouvsm4r_vv    101000 1 ..... 10000 010 ..... 1110111 @r2_vm_1
10188b045ff4SMax Chouvsm4r_vs    101001 1 ..... 10000 010 ..... 1110111 @r2_vm_1
1019b52d49e9SWeiwei Li
1020b52d49e9SWeiwei Li# *** RV32 Zacas Standard Extension ***
1021b52d49e9SWeiwei Liamocas_w    00101 . . ..... ..... 010 ..... 0101111 @atom_st
1022b52d49e9SWeiwei Liamocas_d    00101 . . ..... ..... 011 ..... 0101111 @atom_st
1023b52d49e9SWeiwei Li# *** RV64 Zacas Standard Extension ***
1024b52d49e9SWeiwei Liamocas_q    00101 . . ..... ..... 100 ..... 0101111 @atom_st
10256eab278dSLIU Zhiwei
10266eab278dSLIU Zhiwei# *** Zimop may-be-operation extension ***
1027*f06bfe3dSDeepak Gupta{
1028*f06bfe3dSDeepak Gupta  # zicfiss instructions carved out of mop.r
1029*f06bfe3dSDeepak Gupta  [
1030*f06bfe3dSDeepak Gupta    ssrdp     1100110 11100 00000 100 rd:5  1110011
1031*f06bfe3dSDeepak Gupta    sspopchk  1100110 11100 00001 100 00000 1110011 &r2 rs1=1 rd=0
1032*f06bfe3dSDeepak Gupta    sspopchk  1100110 11100 00101 100 00000 1110011 &r2 rs1=5 rd=0
1033*f06bfe3dSDeepak Gupta  ]
10346eab278dSLIU Zhiwei  mop_r_n    1 . 00 .. 0111 .. ..... 100 ..... 1110011 @mop5
1035*f06bfe3dSDeepak Gupta}
1036*f06bfe3dSDeepak Gupta{
1037*f06bfe3dSDeepak Gupta  # zicfiss instruction carved out of mop.rr
1038*f06bfe3dSDeepak Gupta  [
1039*f06bfe3dSDeepak Gupta    sspush    1100111 00001  00000 100 00000 1110011 &r2_s rs2=1 rs1=0
1040*f06bfe3dSDeepak Gupta    sspush    1100111 00101  00000 100 00000 1110011 &r2_s rs2=5 rs1=0
1041*f06bfe3dSDeepak Gupta  ]
10426eab278dSLIU Zhiwei  mop_rr_n   1 . 00 .. 1 ..... ..... 100 ..... 1110011 @mop3
1043*f06bfe3dSDeepak Gupta}
1044be4a8db7SLIU Zhiwei
1045be4a8db7SLIU Zhiwei# *** Zabhb Standard Extension ***
1046be4a8db7SLIU Zhiweiamoswap_b  00001 . . ..... ..... 000 ..... 0101111 @atom_st
1047be4a8db7SLIU Zhiweiamoadd_b   00000 . . ..... ..... 000 ..... 0101111 @atom_st
1048be4a8db7SLIU Zhiweiamoxor_b   00100 . . ..... ..... 000 ..... 0101111 @atom_st
1049be4a8db7SLIU Zhiweiamoand_b   01100 . . ..... ..... 000 ..... 0101111 @atom_st
1050be4a8db7SLIU Zhiweiamoor_b    01000 . . ..... ..... 000 ..... 0101111 @atom_st
1051be4a8db7SLIU Zhiweiamomin_b   10000 . . ..... ..... 000 ..... 0101111 @atom_st
1052be4a8db7SLIU Zhiweiamomax_b   10100 . . ..... ..... 000 ..... 0101111 @atom_st
1053be4a8db7SLIU Zhiweiamominu_b  11000 . . ..... ..... 000 ..... 0101111 @atom_st
1054be4a8db7SLIU Zhiweiamomaxu_b  11100 . . ..... ..... 000 ..... 0101111 @atom_st
1055be4a8db7SLIU Zhiweiamoswap_h  00001 . . ..... ..... 001 ..... 0101111 @atom_st
1056be4a8db7SLIU Zhiweiamoadd_h   00000 . . ..... ..... 001 ..... 0101111 @atom_st
1057be4a8db7SLIU Zhiweiamoxor_h   00100 . . ..... ..... 001 ..... 0101111 @atom_st
1058be4a8db7SLIU Zhiweiamoand_h   01100 . . ..... ..... 001 ..... 0101111 @atom_st
1059be4a8db7SLIU Zhiweiamoor_h    01000 . . ..... ..... 001 ..... 0101111 @atom_st
1060be4a8db7SLIU Zhiweiamomin_h   10000 . . ..... ..... 001 ..... 0101111 @atom_st
1061be4a8db7SLIU Zhiweiamomax_h   10100 . . ..... ..... 001 ..... 0101111 @atom_st
1062be4a8db7SLIU Zhiweiamominu_h  11000 . . ..... ..... 001 ..... 0101111 @atom_st
1063be4a8db7SLIU Zhiweiamomaxu_h  11100 . . ..... ..... 001 ..... 0101111 @atom_st
1064d34e4066SLIU Zhiweiamocas_b    00101 . . ..... ..... 000 ..... 0101111 @atom_st
1065d34e4066SLIU Zhiweiamocas_h    00101 . . ..... ..... 001 ..... 0101111 @atom_st
1066