Skip to content

Latest commit

 

History

History
298 lines (282 loc) · 13.4 KB

inst-table.adoc

File metadata and controls

298 lines (282 loc) · 13.4 KB
Table 1. Vector Table
31 30 29 27 26 25 24 20 19 15 14 12 11 10 9 7 6 0 Opcode

00000

vm

vs2

vs1

000

vd

1010111

VADD.VV

00000

vm

vs2

vs1

100

vd

1010111

VADD.VS

00000

vm

imm[4:0]

vs1

101

vd

1010111

VADD.VI

00000

vm

vs2

vs1

010

vd

1010111

VADDW.VV

00000

vm

vs2

vs1

110

vd

1010111

VADDW.VS

00000

vm

vs2

vs1

011

vd

1010111

VADDW.WV

00000

vm

vs2

vs1

111

vd

1010111

VADDW.WS

00001

vm

vs2

vs1

000

vd

1010111

VSUB.VV

00001

vm

vs2

vs1

100

vd

1010111

VSUB.VS

00001

vm

imm[4:0]

vs1

101

vd

1010111

VSUB.VI

00001

vm

vs2

vs1

000

vd

1010111

VSUB.VV

00001

vm

vs2

vs1

100

vd

1010111

VSUB.VS

00001

vm

vs2

vs1

011

vd

1010111

VSUBW.WV

00001

vm

vs2

vs1

111

vd

1010111

VSUBW.WS

01000

vm

vs2

vs1

000

vd

1010111

VMUL.VV

01000

vm

vs2

vs1

100

vd

1010111

VMUL.VS

01000

vm

imm[4:0]

vs1

101

vd

1010111

VMUL.VI

01000

vm

vs2

vs1

000

vd

1010111

VMUL.VV

01000

vm

vs2

vs1

100

vd

1010111

VMUL.VS

01000

vm

vs2

vs1

011

vd

1010111

VMULW.WV

01000

vm

vs2

vs1

111

vd

1010111

VMULW.WS

01001

vm

vs2

vs1

000

vd

1010111

VMULU.VV

01001

vm

vs2

vs1

100

vd

1010111

VMULU.VS

01001

vm

imm[4:0]

vs1

101

vd

1010111

VMULU.VI

01001

vm

vs2

vs1

000

vd

1010111

VMULU.VV

01001

vm

vs2

vs1

100

vd

1010111

VMULU.VS

01001

vm

vs2

vs1

011

vd

1010111

VMULUW.WV

01001

vm

vs2

vs1

111

vd

1010111

VMULUW.WS

01010

vm

vs2

vs1

000

vd

1010111

VMULSU.VV

01010

vm

vs2

vs1

100

vd

1010111

VMULSU.VS

01010

vm

imm[4:0]

vs1

101

vd

1010111

VMULSU.VI

01010

vm

vs2

vs1

000

vd

1010111

VMULSU.VV

01010

vm

vs2

vs1

100

vd

1010111

VMULSU.VS

01010

vm

vs2

vs1

011

vd

1010111

VMULSUW.WV

01010

vm

vs2

vs1

111

vd

1010111

VMULSUW.WS

Table 2. Vector Table
31 30 29 27 26 25 24 20 19 15 14 12 11 10 9 7 6 0 Opcode

00100

vm

vs2

vs1

000

vd

1010111

VSRLN.VV

00100

vm

vs2

vs1

100

vd

1010111

VSRLN.VS

00100

vm

imm[4:0]

vs1

101

vd

1010111

VSRLN.VI

00100

vm

vs2

vs1

010

vd

1010111

VSRLN.WV

00100

vm

vs2

vs1

110

vd

1010111

VSRLN.WS

00100

vm

vs2

vs1

111

vd

1010111

VSRLN.WI

00101

vm

vs2

vs1

000

vd

1010111

VSRAN.VV

00101

vm

vs2

vs1

100

vd

1010111

VSRAN.VS

00101

vm

imm[4:0]

vs1

101

vd

1010111

VSRAN.VI

00101

vm

vs2

vs1

010

vd

1010111

VSRAN.WV

00101

vm

vs2

vs1

110

vd

1010111

VSRAN.WS

00101

vm

vs2

vs1

111

vd

1010111

VSRAN.WI

00110

vm

vs2

vs1

000

vd

1010111

VCLIPN.VV

00110

vm

vs2

vs1

100

vd

1010111

VCLIPN.VS

00110

vm

imm[4:0]

vs1

101

vd

1010111

VCLIPN.VI

00110

vm

vs2

vs1

010

vd

1010111

VCLIPN.WV

00110

vm

vs2

vs1

110

vd

1010111

VCLIPN.WS

00110

vm

vs2

vs1

111

vd

1010111

VCLIPN.WI

00111

vm

vs2

vs1

000

vd

1010111

VCLIPUN.VV

00111

vm

vs2

vs1

100

vd

1010111

VCLIPUN.VS

00111

vm

imm[4:0]

vs1

101

vd

1010111

VCLIPUN.VI

00111

vm

vs2

vs1

010

vd

1010111

VCLIPUN.WV

00111

vm

vs2

vs1

110

vd

1010111

VCLIPUN.WS

00111

vm

vs2

vs1

111

vd

1010111

VCLIPUN.WI

10000

vm

vs2

vs1

000

vd

1010111

VAND.VV

10000

vm

vs2

vs1

100

vd

1010111

VAND.VS

10000

vm

imm[4:0]

vs1

101

vd

1010111

VAND.VI

10000

vm

vs2

vs1

010

vd

1010111

VOR.VV

10000

vm

vs2

vs1

110

vd

1010111

VOR.VS

10000

vm

imm[4:0]

vs1

111

vd

1010111

VOR.VI

10001

vm

vs2

vs1

000

vd

1010111

VXOR.VV

10001

vm

vs2

vs1

100

vd

1010111

VXOR.VS

10001

vm

imm[4:0]

vs1

101

vd

1010111

VXOR.VI

10010

vm

vs2

vs1

000

vd

1010111

VSLL.VV

10010

vm

vs2

vs1

100

vd

1010111

VSLL.VS

10010

vm

imm[4:0]

vs1

101

vd

1010111

VSLL.VI

10011

vm

vs2

vs1

000

vd

1010111

VSRL.VV

10011

vm

vs2

vs1

100

vd

1010111

VSRL.VS

10011

vm

imm[4:0]

vs1

101

vd

1010111

VSRL.VI

10011

vm

vs2

vs1

010

vd

1010111

VSRA.VV

10011

vm

vs2

vs1

110

vd

1010111

VSRA.VS

10011

vm

imm[4:0]

vs1

111

vd

1010111

VSRA.VI

10100

vm

vs2

vs1

000

vd

1010111

VSEQ.VV

10100

vm

vs2

vs1

100

vd

1010111

VSEQ.VS

10100

vm

imm[4:0]

vs1

101

vd

1010111

VSEQ.VI

10100

vm

vs2

vs1

010

vd

1010111

VSNE.VV

10100

vm

vs2

vs1

110

vd

1010111

VSNE.VS

10100

vm

imm[4:0]

vs1

111

vd

1010111

VSNE.VI

10101

vm

vs2

vs1

000

vd

1010111

VSLT.VV

10101

vm

vs2

vs1

100

vd

1010111

VSLT.VS

10101

vm

imm[4:0]

vs1

101

vd

1010111

VSLT.VI

10101

vm

vs2

vs1

010

vd

1010111

VSLTU.VV

10101

vm

vs2

vs1

110

vd

1010111

VSLTU.VS

10101

vm

imm[4:0]

vs1

111

vd

1010111

VSLTU.VI

10110

vm

vs2

vs1

000

vd

1010111

VSLE.VV

10110

vm

vs2

vs1

100

vd

1010111

VSLE.VS

10110

vm

imm[4:0]

vs1

101

vd

1010111

VSLE.VI

10110

vm

vs2

vs1

010

vd

1010111

VSLEU.VV

10110

vm

vs2

vs1

110

vd

1010111

VSLEU.VS

10110

vm

imm[4:0]

vs1

111

vd

1010111

VSLEU.VI

11000

vm

vs2

vs1

000

vd

1010111

VMULH.VV

11000

vm

vs2

vs1

100

vd

1010111

VMULH.VS

11000

vm

imm[4:0]

vs1

101

vd

1010111

VMULH.VI

11001

vm

vs2

vs1

000

vd

1010111

VDIV.VV

11001

vm

vs2

vs1

100

vd

1010111

VDIV.VS

11001

vm

imm[4:0]

vs1

101

vd

1010111

VDIV.VI

11001

vm

vs2

vs1

010

vd

1010111

VDIVU.VV

11001

vm

vs2

vs1

110

vd

1010111

VDIVU.VS

11001

vm

imm[4:0]

vs1

111

vd

1010111

VDIVU.VI

11010

vm

vs2

vs1

000

vd

1010111

VREM.VV

11010

vm

vs2

vs1

100

vd

1010111

VREM.VS

11010

vm

imm[4:0]

vs1

101

vd

1010111

VREM.VI

11010

vm

vs2

vs1

010

vd

1010111

VREMU.VV

11010

vm

vs2

vs1

110

vd

1010111

VREMU.VS

11010

vm

imm[4:0]

vs1

111

vd

1010111

VREMU.VI

11011

vm

00000

vs1

000

vd

1010111

VSQRT.VV

11011

vm

00000

vs1

100

vd

1010111

VSQRT.VS

11011

vm

00000

vs1

101

vd

1010111

VSQRT.VI

11011

vm

00001

vs1

000

vd

1010111

VFCLASS.VV

11011

vm

00001

vs1

100

vd

1010111

VFCLASS.VS

11011

vm

00001

vs1

101

vd

1010111

VFCLASS.VI

11100

vm

vs2

vs1

000

vd

1010111

VFSGNJ.VV

11100

vm

vs2

vs1

100

vd

1010111

VFSGNJ.VS

11100

vm

imm[4:0]

vs1

101

vd

1010111

VFSGNJ.VI

11100

vm

vs2

vs1

010

vd

1010111

VFSGNJN.VV

11100

vm

vs2

vs1

110

vd

1010111

VFSGNJN.VS

11100

vm

imm[4:0]

vs1

111

vd

1010111

VFSGNJN.VI

11101

vm

vs2

vs1

000

vd

1010111

VFSGNJX.VV

11101

vm

vs2

vs1

100

vd

1010111

VFSGNJX.VS

11101

vm

imm[4:0]

vs1

101

vd

1010111

VFSGNJX.VI

11110

vm

vs2

vs1

000

vd

1010111

VFMIN.VV

11110

vm

vs2

vs1

100

vd

1010111

VFMIN.VS

11110

vm

imm[4:0]

vs1

101

vd

1010111

VFMIN.VI

11110

vm

vs2

vs1

010

vd

1010111

VFMAX.VV

11110

vm

vs2

vs1

110

vd

1010111

VFMAX.VS

11110

vm

imm[4:0]

vs1

111

vd

1010111

VFMAX.VI

Table 3. Vector Table
31 30 29 27 26 25 24 20 19 15 14 12 11 10 9 7 6 0 Opcode

11011

vm

00000

vs1

010

rd

1010111

VMPOPC

11011

vm

00001

vs1

010

rd

1010111

VMFIRST

11011

vm

00000

vs1

011

vd

1010111

VMSBF.V

11011

vm

00001

vs1

011

vd

1010111

VMSIF.V

11011

vm

00010

vs1

011

vd

1010111

VMSOF.V

11011

vm

11111

00000

000

vd

1010111

VIOTA.V

11111

vm

vs2

vs1

000

vd

1010111

VMERGE.VV

11111

vm

vs2

vs1

100

vd

1010111

VMERGE.VS

11111

vm

imm[4:0]

vs1

101

vd

1010111

VMERGE.VI

01101

00

rs2

vs1

000

rd

1010111

VMV.X.V

01101

01

rs2

rs1

000

vd

1010111

VMV.V.X

01101

10

rs2

vs1

000

vd

1010111

VMV.S.V

01101

11

rs2

vs1

000

vd

1010111

VMV.V.S

01101

vm

vs2

vs1

011

vd

1010111

VRGATHER.VV

01101

vm

vs2

vs1

100

vd

1010111

VSLIDEUP.VS

01101

vm

imm[4:0]

00000

101

vd

1010111

VSLIDEUP.VI

01101

vm

vs2

vs1

110

vd

1010111

VSLIDEDOWN.VS

01101

vm

imm[4:0]

vs1

111

vd

1010111

VSLIDEDOWN.VI

01110

vm

vs2

vs1

000

vd

1010111

VREDSUM.V

01110

vm

vs2

vs1

010

vd

1010111

VREDSUMW.V

01110

vm

vs2

vs1

001

vd

1010111

VREDMAX.V

01110

vm

vs2

vs1

011

vd

1010111

VREDMAXU.V

01110

vm

vs2

vs1

100

vd

1010111

VREDMIN.V

01110

vm

vs2

vs1

110

vd

1010111

VREDMINU.V

01111

vm

vs2

vs1

000

vd

1010111

VREDAND.V

01111

vm

vs2

vs1

001

vd

1010111

VREDOR.V

01111

vm

vs2

vs1

010

vd

1010111

VREDXOR.V

vs3

vm

vs2

vs1

101

vd

1000011

VMADD.VVV

vs3

vm

vs2

vs1

110

vd

1000011

VMADD.VVS

vs3

vm

vs2

vs1

101

vd

1000111

VMSUB.VVV

vs3

vm

vs2

vs1

110

vd

1000111

VMSUB.VVS

vs3

vm

vs2

vs1

101

vd

1001011

VMADDW.VVV

vs3

vm

vs2

vs1

110

vd

1001011

VMADDW.VVS

vs3

vm

vs2

vs1

101

vd

1001111

VMSUBW.VVV

vs3

vm

vs2

vs1

110

vd

1001111

VMSUBW.VVS

Table 4. Vector Table
31 30 29 27 26 25 24 20 19 15 14 12 11 10 9 7 6 0 Opcode

imm[6:5]

100

m

imm[4:0]

rs1

000

vd

0000111

VLB.V

imm[6:5]

100

m

imm[4:0]

rs1

101

vd

0000111

VLH.V

imm[6:5]

100

m

imm[4:0]

rs1

110

vd

0000111

VLW.V

imm[6:5]

100

m

imm[4:0]

rs1

111

vd

0000111

VLE.V

imm[6:5]

000

m

imm[4:0]

rs1

000

vd

0000111

VLBU.V

imm[6:5]

000

m

imm[4:0]

rs1

101

vd

0000111

VLHU.V

imm[6:5]

000

m

imm[4:0]

rs1

110

vd

0000111

VLWU.V

imm[6:5]

000

m

imm[4:0]

rs1

111

vd

0000111

VLEU.V

imm[1:0]

110

m

rs2

rs1

000

vd

0000111

VLSB.V

imm[1:0]

110

m

rs2

rs1

101

vd

0000111

VLSH.V

imm[1:0]

110

m

rs2

rs1

110

vd

0000111

VLSW.V

imm[1:0]

110

m

rs2

rs1

111

vd

0000111

VLSE.V

imm[1:0]

010

m

rs2

rs1

000

vd

0000111

VLSBU.V

imm[1:0]

010

m

rs2

rs1

101

vd

0000111

VLSHU.V

imm[1:0]

010

m

rs2

rs1

110

vd

0000111

VLSWU.V

imm[1:0]

010

m

rs2

rs1

111

vd

0000111

VLSEU.V

imm[1:0]

111

m

vs2

rs1

000

vd

0000111

VLXB.V

imm[1:0]

111

m

vs2

rs1

101

vd

0000111

VLXH.V

imm[1:0]

111

m

vs2

rs1

110

vd

0000111

VLXW.V

imm[1:0]

111

m

vs2

rs1

111

vd

0000111

VLXE.V

imm[1:0]

011

m

vs2

rs1

000

vd

0000111

VLXBU.V

imm[1:0]

011

m

vs2

rs1

101

vd

0000111

VLXHU.V

imm[1:0]

011

m

vs2

rs1

110

vd

0000111

VLXWU.V

imm[1:0]

011

m

vs2

rs1

111

vd

0000111

VLXEU.V

imm[6:5]

100

10

imm[4:0]

rs1

000

vd

0000111

VLB.S

imm[6:5]

100

10

imm[4:0]

rs1

101

vd

0000111

VLH.S

imm[6:5]

100

10

imm[4:0]

rs1

110

vd

0000111

VLW.S

imm[6:5]

100

10

imm[4:0]

rs1

111

vd

0000111

VLE.S

imm[6:5]

000

10

imm[4:0]

rs1

000

vd

0000111

VLBU.S

imm[6:5]

000

10

imm[4:0]

rs1

101

vd

0000111

VLHU.S

imm[6:5]

000

10

imm[4:0]

rs1

110

vd

0000111

VLWU.S

imm[6:5]

000

10

imm[4:0]

rs1

111

vd

0000111

VLEU.S

imm[1:0]

110

10

rs2

rs1

000

vd

0000111

VLSB.S

imm[1:0]

110

10

rs2

rs1

101

vd

0000111

VLSH.S

imm[1:0]

110

10

rs2

rs1

110

vd

0000111

VLSW.S

imm[1:0]

110

10

rs2

rs1

111

vd

0000111

VLSE.S

imm[1:0]

010

10

rs2

rs1

000

vd

0000111

VLSBU.S

imm[1:0]

010

10

rs2

rs1

101

vd

0000111

VLSHU.S

imm[1:0]

010

10

rs2

rs1

110

vd

0000111

VLSWU.S

imm[1:0]

010

10

rs2

rs1

111

vd

0000111

VLSEU.S

imm[1:0]

111

10

vs2

rs1

000

vd

0000111

VLXB.S

imm[1:0]

111

10

vs2

rs1

101

vd

0000111

VLXH.S

imm[1:0]

111

10

vs2

rs1

110

vd

0000111

VLXW.S

imm[1:0]

111

10

vs2

rs1

111

vd

0000111

VLXE.S

imm[1:0]

011

10

vs2

rs1

000

vd

0000111

VLXBU.S

imm[1:0]

011

10

vs2

rs1

101

vd

0000111

VLXHU.S

imm[1:0]

011

10

vs2

rs1

110

vd

0000111

VLXWU.S

imm[1:0]

011

10

vs2

rs1

111

vd

0000111

VLXEU.S

vs3

m

imm[4:0]

rs1

000

imm[6:5]

000

0100111

VSB.V

vs3

m

imm[4:0]

rs1

101

imm[6:5]

000

0100111

VSH.V

vs3

m

imm[4:0]

rs1

110

imm[6:5]

000

0100111

VSW.V

vs3

m

imm[4:0]

rs1

111

imm[6:5]

000

0100111

VSE.V

vs3

m

imm[4:0]

rs1

000

imm[6:5]

100

0100111

VSUB.V

vs3

m

imm[4:0]

rs1

101

imm[6:5]

100

0100111

VSUH.V

vs3

m

imm[4:0]

rs1

110

imm[6:5]

100

0100111

VSUW.V

vs3

m

imm[4:0]

rs1

111

imm[6:5]

100

0100111

VSUE.V

vs3

m

rs2

rs1

000

imm[1:0]

010

0100111

VSSB.V

vs3

m

rs2

rs1

101

imm[1:0]

010

0100111

VSSH.V

vs3

m

rs2

rs1

110

imm[1:0]

010

0100111

VSSW.V

vs3

m

rs2

rs1

111

imm[1:0]

010

0100111

VSSE.V

vs3

m

rs2

rs1

000

imm[1:0]

110

0100111

VSUSB.V

vs3

m

rs2

rs1

101

imm[1:0]

110

0100111

VSUSH.V

vs3

m

rs2

rs1

110

imm[1:0]

110

0100111

VSUSW.V

vs3

m

rs2

rs1

111

imm[1:0]

110

0100111

VSUSE.V

vs3

m

vs2

rs1

000

imm[1:0]

011

0100111

VSXB.V

vs3

m

vs2

rs1

101

imm[1:0]

011

0100111

VSXH.V

vs3

m

vs2

rs1

110

imm[1:0]

011

0100111

VSXW.V

vs3

m

vs2

rs1

111

imm[1:0]

011

0100111

VSXE.V

vs3

m

vs2

rs1

000

imm[1:0]

111

0100111

VSUXB.V

vs3

m

vs2

rs1

101

imm[1:0]

111

0100111

VSUXH.V

vs3

m

vs2

rs1

110

imm[1:0]

111

0100111

VSUXW.V

vs3

m

vs2

rs1

111

imm[1:0]

111

0100111

VSUXE.V

vs3

10

imm[4:0]

rs1

000

imm[6:5]

000

0100111

VSB.S

vs3

10

imm[4:0]

rs1

101

imm[6:5]

000

0100111

VSH.S

vs3

10

imm[4:0]

rs1

110

imm[6:5]

000

0100111

VSW.S

vs3

10

imm[4:0]

rs1

111

imm[6:5]

000

0100111

VSE.S

vs3

10

imm[4:0]

rs1

000

imm[6:5]

100

0100111

VSUB.S

vs3

10

imm[4:0]

rs1

101

imm[6:5]

100

0100111

VSUH.S

vs3

10

imm[4:0]

rs1

110

imm[6:5]

100

0100111

VSUW.S

vs3

10

imm[4:0]

rs1

111

imm[6:5]

100

0100111

VSUE.S

vs3

10

rs2

rs1

000

imm[1:0]

010

0100111

VSSB.S

vs3

10

rs2

rs1

101

imm[1:0]

010

0100111

VSSH.S

vs3

10

rs2

rs1

110

imm[1:0]

010

0100111

VSSW.S

vs3

10

rs2

rs1

111

imm[1:0]

010

0100111

VSSE.S

vs3

10

rs2

rs1

000

imm[1:0]

110

0100111

VSUSB.S

vs3

10

rs2

rs1

101

imm[1:0]

110

0100111

VSUSH.S

vs3

10

rs2

rs1

110

imm[1:0]

110

0100111

VSUSW.S

vs3

10

rs2

rs1

111

imm[1:0]

110

0100111

VSUSE.S

vs3

10

vs2

rs1

000

imm[1:0]

011

0100111

VSXB.S

vs3

10

vs2

rs1

101

imm[1:0]

011

0100111

VSXH.S

vs3

10

vs2

rs1

110

imm[1:0]

011

0100111

VSXW.S

vs3

10

vs2

rs1

111

imm[1:0]

011

0100111

VSXE.S

vs3

10

vs2

rs1

000

imm[1:0]

111

0100111

VSUXB.S

vs3

10

vs2

rs1

101

imm[1:0]

111

0100111

VSUXH.S

vs3

10

vs2

rs1

110

imm[1:0]

111

0100111

VSUXW.S

vs3

10

vs2

rs1

111

imm[1:0]

111

0100111

VSUXE.S