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