aboutsummaryrefslogtreecommitdiff
path: root/src/arch/riscv64/Encoding.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/riscv64/Encoding.zig')
-rw-r--r--src/arch/riscv64/Encoding.zig7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/arch/riscv64/Encoding.zig b/src/arch/riscv64/Encoding.zig
index f4684fe42b..77cd905e7f 100644
--- a/src/arch/riscv64/Encoding.zig
+++ b/src/arch/riscv64/Encoding.zig
@@ -288,6 +288,9 @@ pub const Mnemonic = enum {
vfaddvv,
vfsubvv,
+ vmulvv,
+ vfmulvv,
+
vadcvv,
vmvvx,
@@ -546,9 +549,11 @@ pub const Mnemonic = enum {
.vsetvli => .{ .opcode = .OP_V, .data = .{ .f = .{ .funct3 = 0b111 } } },
.vaddvv => .{ .opcode = .OP_V, .data = .{ .vecmath = .{ .vm = true, .funct6 = 0b000000, .funct3 = .OPIVV } } },
.vsubvv => .{ .opcode = .OP_V, .data = .{ .vecmath = .{ .vm = true, .funct6 = 0b000010, .funct3 = .OPIVV } } },
+ .vmulvv => .{ .opcode = .OP_V, .data = .{ .vecmath = .{ .vm = true, .funct6 = 0b100101, .funct3 = .OPIVV } } },
.vfaddvv => .{ .opcode = .OP_V, .data = .{ .vecmath = .{ .vm = true, .funct6 = 0b000000, .funct3 = .OPFVV } } },
.vfsubvv => .{ .opcode = .OP_V, .data = .{ .vecmath = .{ .vm = true, .funct6 = 0b000010, .funct3 = .OPFVV } } },
+ .vfmulvv => .{ .opcode = .OP_V, .data = .{ .vecmath = .{ .vm = true, .funct6 = 0b100100, .funct3 = .OPFVV } } },
.vadcvv => .{ .opcode = .OP_V, .data = .{ .vecmath = .{ .vm = true, .funct6 = 0b010000, .funct3 = .OPMVV } } },
.vmvvx => .{ .opcode = .OP_V, .data = .{ .vecmath = .{ .vm = true, .funct6 = 0b010111, .funct3 = .OPIVX } } },
@@ -710,8 +715,10 @@ pub const InstEnc = enum {
.vaddvv,
.vsubvv,
+ .vmulvv,
.vfaddvv,
.vfsubvv,
+ .vfmulvv,
.vadcvv,
.vmvvx,
.vslidedownvx,