VWMULSUVX X10, V2, V0, V3 // d76125e8
// 31.11.13: Vector Single-Width Integer Multiply-Add Instructions
- VMACCVV V1, V2, V3 // d7a120b6
- VMACCVV V1, V2, V0, V3 // d7a120b4
- VMACCVX X10, V2, V3 // d76125b6
- VMACCVX X10, V2, V0, V3 // d76125b4
- VNMSACVV V1, V2, V3 // d7a120be
- VNMSACVV V1, V2, V0, V3 // d7a120bc
- VNMSACVX X10, V2, V3 // d76125be
- VNMSACVX X10, V2, V0, V3 // d76125bc
- VMADDVV V1, V2, V3 // d7a120a6
- VMADDVV V1, V2, V0, V3 // d7a120a4
- VMADDVX X10, V2, V3 // d76125a6
- VMADDVX X10, V2, V0, V3 // d76125a4
- VNMSUBVV V1, V2, V3 // d7a120ae
- VNMSUBVV V1, V2, V0, V3 // d7a120ac
- VNMSUBVX X10, V2, V3 // d76125ae
- VNMSUBVX X10, V2, V0, V3 // d76125ac
+ VMACCVV V2, V1, V3 // d7a120b6
+ VMACCVV V2, V1, V0, V3 // d7a120b4
+ VMACCVX V2, X10, V3 // d76125b6
+ VMACCVX V2, X10, V0, V3 // d76125b4
+ VNMSACVV V2, V1, V3 // d7a120be
+ VNMSACVV V2, V1, V0, V3 // d7a120bc
+ VNMSACVX V2, X10, V3 // d76125be
+ VNMSACVX V2, X10, V0, V3 // d76125bc
+ VMADDVV V2, V1, V3 // d7a120a6
+ VMADDVV V2, V1, V0, V3 // d7a120a4
+ VMADDVX V2, X10, V3 // d76125a6
+ VMADDVX V2, X10, V0, V3 // d76125a4
+ VNMSUBVV V2, V1, V3 // d7a120ae
+ VNMSUBVV V2, V1, V0, V3 // d7a120ac
+ VNMSUBVX V2, X10, V3 // d76125ae
+ VNMSUBVX V2, X10, V0, V3 // d76125ac
// 31.11.14: Vector Widening Integer Multiply-Add Instructions
- VWMACCUVV V1, V2, V3 // d7a120f2
- VWMACCUVV V1, V2, V0, V3 // d7a120f0
- VWMACCUVX X10, V2, V3 // d76125f2
- VWMACCUVX X10, V2, V0, V3 // d76125f0
- VWMACCVV V1, V2, V3 // d7a120f6
- VWMACCVV V1, V2, V0, V3 // d7a120f4
- VWMACCVX X10, V2, V3 // d76125f6
- VWMACCVX X10, V2, V0, V3 // d76125f4
- VWMACCSUVV V1, V2, V3 // d7a120fe
- VWMACCSUVV V1, V2, V0, V3 // d7a120fc
- VWMACCSUVX X10, V2, V3 // d76125fe
- VWMACCSUVX X10, V2, V0, V3 // d76125fc
- VWMACCUSVX X10, V2, V3 // d76125fa
- VWMACCUSVX X10, V2, V0, V3 // d76125f8
+ VWMACCUVV V2, V1, V3 // d7a120f2
+ VWMACCUVV V2, V1, V0, V3 // d7a120f0
+ VWMACCUVX V2, X10, V3 // d76125f2
+ VWMACCUVX V2, X10, V0, V3 // d76125f0
+ VWMACCVV V2, V1, V3 // d7a120f6
+ VWMACCVV V2, V1, V0, V3 // d7a120f4
+ VWMACCVX V2, X10, V3 // d76125f6
+ VWMACCVX V2, X10, V0, V3 // d76125f4
+ VWMACCSUVV V2, V1, V3 // d7a120fe
+ VWMACCSUVV V2, V1, V0, V3 // d7a120fc
+ VWMACCSUVX V2, X10, V3 // d76125fe
+ VWMACCSUVX V2, X10, V0, V3 // d76125fc
+ VWMACCUSVX V2, X10, V3 // d76125fa
+ VWMACCUSVX V2, X10, V0, V3 // d76125f8
// 31.11.15: Vector Integer Merge Instructions
VMERGEVVM V1, V2, V0, V3 // d781205c
VWMULUVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
VWMULSUVV X10, V2, V3 // ERROR "expected vector register in vs1 position"
VWMULSUVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
- VMACCVV X10, V2, V3 // ERROR "expected vector register in vs1 position"
+ VMACCVV V2, X10, V3 // ERROR "expected vector register in vs1 position"
VMACCVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
- VNMSACVV X10, V2, V3 // ERROR "expected vector register in vs1 position"
+ VNMSACVV V2, X10, V3 // ERROR "expected vector register in vs1 position"
VNMSACVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
- VMADDVV X10, V2, V3 // ERROR "expected vector register in vs1 position"
+ VMADDVV V2, X10, V3 // ERROR "expected vector register in vs1 position"
VMADDVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
- VNMSUBVV X10, V2, V3 // ERROR "expected vector register in vs1 position"
+ VNMSUBVV V2, X10, V3 // ERROR "expected vector register in vs1 position"
VNMSUBVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
- VWMACCUVV X10, V2, V3 // ERROR "expected vector register in vs1 position"
+ VWMACCUVV V2, X10, V3 // ERROR "expected vector register in vs1 position"
VWMACCUVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
- VWMACCVV X10, V2, V3 // ERROR "expected vector register in vs1 position"
+ VWMACCVV V2, X10, V3 // ERROR "expected vector register in vs1 position"
VWMACCVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
- VWMACCSUVV X10, V2, V3 // ERROR "expected vector register in vs1 position"
+ VWMACCSUVV V2, X10, V3 // ERROR "expected vector register in vs1 position"
VWMACCSUVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
VWMACCUSVX V1, V2, V3 // ERROR "expected integer register in rs1 position"
VMERGEVVM X10, V2, V0, V3 // ERROR "expected vector register in vs1 position"
AVMULVV, AVMULVX, AVMULHVV, AVMULHVX, AVMULHUVV, AVMULHUVX, AVMULHSUVV, AVMULHSUVX,
AVDIVUVV, AVDIVUVX, AVDIVVV, AVDIVVX, AVREMUVV, AVREMUVX, AVREMVV, AVREMVX,
AVWMULVV, AVWMULVX, AVWMULUVV, AVWMULUVX, AVWMULSUVV, AVWMULSUVX, AVNSRLWV, AVNSRLWX, AVNSRAWV, AVNSRAWX,
- AVMACCVV, AVMACCVX, AVNMSACVV, AVNMSACVX, AVMADDVV, AVMADDVX, AVNMSUBVV, AVNMSUBVX,
- AVWMACCUVV, AVWMACCUVX, AVWMACCVV, AVWMACCVX, AVWMACCSUVV, AVWMACCSUVX, AVWMACCUSVX,
AVSADDUVV, AVSADDUVX, AVSADDUVI, AVSADDVV, AVSADDVX, AVSADDVI, AVSSUBUVV, AVSSUBUVX, AVSSUBVV, AVSSUBVX,
AVAADDUVV, AVAADDUVX, AVAADDVV, AVAADDVX, AVASUBUVV, AVASUBUVX, AVASUBVV, AVASUBVX,
AVSMULVV, AVSMULVX, AVSSRLVV, AVSSRLVX, AVSSRLVI, AVSSRAVV, AVSSRAVX, AVSSRAVI,
case AVFMACCVV, AVFMACCVF, AVFNMACCVV, AVFNMACCVF, AVFMSACVV, AVFMSACVF, AVFNMSACVV, AVFNMSACVF,
AVFMADDVV, AVFMADDVF, AVFNMADDVV, AVFNMADDVF, AVFMSUBVV, AVFMSUBVF, AVFNMSUBVV, AVFNMSUBVF,
- AVFWMACCVV, AVFWMACCVF, AVFWNMACCVV, AVFWNMACCVF, AVFWMSACVV, AVFWMSACVF, AVFWNMSACVV, AVFWNMSACVF:
+ AVFWMACCVV, AVFWMACCVF, AVFWNMACCVV, AVFWNMACCVF, AVFWMSACVV, AVFWMSACVF, AVFWNMSACVV, AVFWNMSACVF,
+ AVMACCVV, AVMACCVX, AVNMSACVV, AVNMSACVX, AVMADDVV, AVMADDVX, AVNMSUBVV, AVNMSUBVX,
+ AVWMACCUVV, AVWMACCUVX, AVWMACCVV, AVWMACCVX, AVWMACCSUVV, AVWMACCSUVX, AVWMACCUSVX:
switch {
case ins.rs3 == obj.REG_NONE:
ins.funct7 |= 1 // unmasked