20. ベクトル命令一覧¶
| In teger | In teger | In teger | In teger | In teger | In teger | In teger | In teger | In teger | FP | FP | FP | FP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| f unct3 | f unct3 | f unct3 | ||||||||||
| OPIVV | V | OPMVV | V | OPFVV | V | |||||||
| OPIVX | X | OPMVX | X | OPFVF | F | |||||||
| OPIVI | I |
| funct6 | funct6 | funct6 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 000000 | V | X | I | vadd | 000000 | V | vredsum | 000000 | V | F | vfadd | |
| 000001 | 000001 | V | vredand | 000001 | V | vfredsum | ||||||
| 000010 | V | X | vsub | 000010 | V | vredor | 000010 | V | F | vfsub | ||
| 000011 | X | I | vrsub | 000011 | V | vredxor | 000011 | V | vfredosum | |||
| 000100 | V | X | vminu | 000100 | V | vredminu | 000100 | V | F | vfmin | ||
| 000101 | V | X | vmin | 000101 | V | vredmin | 000101 | V | vfredmin | |||
| 000110 | V | X | vmaxu | 000110 | V | vredmaxu | 000110 | V | F | vfmax | ||
| 000111 | V | X | vmax | 000111 | V | vredmax | 000111 | V | vfredmax | |||
| 001000 | 001000 | 001000 | V | F | vfsgnj | |||||||
| 001001 | V | X | I | vand | 001001 | 001001 | V | F | vfsgnjn | |||
| 001010 | V | X | I | vor | 001010 | 001010 | V | F | vfsgnjx | |||
| 001011 | V | X | I | vxor | 001011 | 001011 | ||||||
| 001100 | V | X | I | vrgather | 001100 | 001100 | ||||||
| 001101 | 001101 | 001101 | ||||||||||
| 001110 | X | I | vslideup | 001110 | X | vslide1up | 001110 | |||||
| 001111 | X | I | vslidedown | 001111 | X | vslide1down | 001111 |
| funct6 | funct6 | funct6 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 010000 | V | X | I | vadc | 010000 | V | VWXUNARY0 | 010000 | V | VWFUNARY0 | ||
| 010000 | X | VRXUNARY0 | 010000 | F | VRFUNARY0 | |||||||
| 010001 | V | X | I | vmadc | 010001 | 010001 | ||||||
| 010010 | V | X | vsbc | 010010 | 010010 | |||||||
| 010011 | V | X | vmsbc | 010011 | 010011 | |||||||
| 010100 | 010100 | V | VMUNARY0 | 010100 | ||||||||
| 010101 | 010101 | 010101 | ||||||||||
| 010110 | 010110 | 010110 | ||||||||||
| 010111 | V | X | I | vmerge/vmv | 010111 | V | vcompress | 010111 | F | vfmerge.vf/vfmv | ||
| 011000 | V | X | I | vmseq | 011000 | V | vmandnot | 011000 | V | F | vmfeq | |
| 011001 | V | X | I | vmsne | 011001 | V | vmand | 011001 | V | F | vmfle | |
| 011010 | V | X | vmsltu | 011010 | V | vmor | 011010 | |||||
| 011011 | V | X | vmslt | 011011 | V | vmxor | 011011 | V | F | vmflt | ||
| 011100 | V | X | I | vmsleu | 011100 | V | vmornot | 011100 | V | F | vmfne | |
| 011101 | V | X | I | vmsle | 011101 | V | vmnand | 011101 | F | vmfgt | ||
| 011110 | X | I | vmsgtu | 011110 | V | vmnor | 011110 | |||||
| 011111 | X | I | vmsgt | 011111 | V | vmxnor | 011111 | F | vmfge |
| funct6 | funct6 | funct6 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 100000 | V | X | I | vsaddu | 100000 | V | X | vdivu | 100000 | V | F | vfdiv |
| 100001 | V | X | I | vsadd | 100001 | V | X | vdiv | 100001 | F | vfrdiv | |
| 100010 | V | X | vssubu | 100010 | V | X | vremu | 100010 | V | VFUNARY0 | ||
| 100011 | V | X | vssub | 100011 | V | X | vrem | 100011 | V | VFUNARY1 | ||
| 100100 | V | X | I | vaadd | 100100 | V | X | vmulhu | 100100 | V | F | vfmul |
| 100101 | V | X | I | vsll | 100101 | V | X | vmul | 100101 | |||
| 100110 | V | X | vasub | 100110 | V | X | vmulhsu | 100110 | ||||
| 100111 | V | X | vsmul | 100111 | V | X | vmulh | 100111 | F | vfrsub | ||
| 101000 | V | X | I | vsrl | 101000 | 101000 | V | F | vfmadd | |||
| 101001 | V | X | I | vsra | 101001 | V | X | vmadd | 101001 | V | F | vfnmadd |
| 101010 | V | X | I | vssrl | 101010 | 101010 | V | F | vfmsub | |||
| 101011 | V | X | I | vssra | 101011 | V | X | vnmsub | 101011 | V | F | vfnmsub |
| 101100 | V | X | I | vnsrl | 101100 | 101100 | V | F | vfmacc | |||
| 101101 | V | X | I | vnsra | 101101 | V | X | vmacc | 101101 | V | F | vfnmacc |
| 101110 | V | X | I | vnclipu | 101110 | 101110 | V | F | vfmsac | |||
| 101111 | V | X | I | vnclip | 101111 | V | X | vnmsac | 101111 | V | F | vfnmsac |
| funct6 | funct6 | funct6 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 110000 | V | vwredsumu | 110000 | V | X | vwaddu | 110000 | V | F | vfwadd | ||
| 110001 | V | vwredsum | 110001 | V | X | vwadd | 110001 | V | vfwredsum | |||
| 110010 | 110010 | V | X | vwsubu | 110010 | V | F | vfwsub | ||||
| 110011 | 110011 | V | X | vwsub | 110011 | V | vfwredosum | |||||
| 110100 | 110100 | V | X | vwaddu.w | 110100 | V | F | vfwadd.w | ||||
| 110101 | 110101 | V | X | vwadd.w | 110101 | |||||||
| 110110 | 110110 | V | X | vwsubu.w | 110110 | V | F | vfwsub.w | ||||
| 110111 | 110111 | V | X | vwsub.w | 110111 | |||||||
| 111000 | V | vdotu | 111000 | V | X | vwmulu | 111000 | V | F | vfwmul | ||
| 111001 | V | vdot | 111001 | 111001 | V | vfdot | ||||||
| 111010 | 111010 | V | X | vwmulsu | 111010 | |||||||
| 111011 | 111011 | V | X | vwmul | 111011 | |||||||
| 111100 | V | X | vwsmaccu | 111100 | V | X | vwmaccu | 111100 | V | F | vfwmacc | |
| 111101 | V | X | vwsmacc | 111101 | V | X | vwmacc | 111101 | V | F | vfwnmacc | |
| 111110 | V | X | vwsmaccsu | 111110 | V | X | vwmaccsu | 111110 | V | F | vfwmsac | |
| 111111 | X | vwsmaccus | 111111 | X | vwmaccus | 111111 | V | F | vfwnmsac |
| vs2 | |
|---|---|
| 00000 | vmv.s.x |
| vs1 | |
|---|---|
| 00000 | vmv.x.s |
| 10000 | vpopc |
| 10001 | vfirst |
| vs2 | |
|---|---|
| 00000 | vfmv.s.f |
| vs1 | |
|---|---|
| 00000 | vfmv.f.s |
| vs1 | name |
|---|---|
| single-width converts | |
| 00000 | vfcvt.xu.f.v |
| 00001 | vfcvt.x.f.v |
| 00010 | vfcvt.f.xu.v |
| 00011 | vfcvt.f.x.v |
| widening converts | |
| 01000 | vfwcvt.xu.f.v |
| 01001 | vfwcvt.x.f.v |
| 01010 | vfwcvt.f.xu.v |
| 01011 | vfwcvt.f.x.v |
| 01100 | vfwcvt.f.f.v |
| narrowing converts | |
| 10000 | vfncvt.xu.f.v |
| 10001 | vfncvt.x.f.v |
| 10010 | vfncvt.f.xu.v |
| 10011 | vfncvt.f.x.v |
| 10100 | vfncvt.f.f.v |
| vs1 | name |
|---|---|
| 00000 | vfsqrt.v |
| 10000 | vfclass.v |
| vs1 | |
|---|---|
| 00001 | vmsbf |
| 00010 | vmsof |
| 00011 | vmsif |
| 10000 | viota |
| 10001 | vid |