aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShivang Mishra <35092323+ShivangMishra@users.noreply.github.com>2024-05-09 23:15:58 +0530
committerGitHub <noreply@github.com>2024-05-09 18:45:58 +0100
commite3c5b0a3016fa52bf1f167b5a918a60f24b634fa (patch)
tree205ff7a902c0172104f3b7207751862b90f44ac9
parentf65c4b2c17dfd031581c4faa9939a569a239fce9 (diff)
downloadsail-riscv-e3c5b0a3016fa52bf1f167b5a918a60f24b634fa.zip
sail-riscv-e3c5b0a3016fa52bf1f167b5a918a60f24b634fa.tar.gz
sail-riscv-e3c5b0a3016fa52bf1f167b5a918a60f24b634fa.tar.bz2
Replace vmandnot and vmornot with vmandn and vmorn - Issue #421 (#465)
Updates the instruction mnemonics for vmandn and vmorn * replace mnemonics "vmandnot" and "vmornot" with "vmandn" and "vmorn" respectively * renamed MM_VMORNOT and MM_VMANDNOT to match mnemonics
-rwxr-xr-xmodel/riscv_insts_vext_mask.sail12
-rwxr-xr-xmodel/riscv_vreg_type.sail2
2 files changed, 7 insertions, 7 deletions
diff --git a/model/riscv_insts_vext_mask.sail b/model/riscv_insts_vext_mask.sail
index 6528882..f04ae1a 100755
--- a/model/riscv_insts_vext_mask.sail
+++ b/model/riscv_insts_vext_mask.sail
@@ -17,11 +17,11 @@ union clause ast = MMTYPE : (mmfunct6, regidx, regidx, regidx)
mapping encdec_mmfunct6 : mmfunct6 <-> bits(6) = {
MM_VMAND <-> 0b011001,
MM_VMNAND <-> 0b011101,
- MM_VMANDNOT <-> 0b011000,
+ MM_VMANDN <-> 0b011000,
MM_VMXOR <-> 0b011011,
MM_VMOR <-> 0b011010,
MM_VMNOR <-> 0b011110,
- MM_VMORNOT <-> 0b011100,
+ MM_VMORN <-> 0b011100,
MM_VMXNOR <-> 0b011111
}
@@ -51,11 +51,11 @@ function clause execute(MMTYPE(funct6, vs2, vs1, vd)) = {
result[i] = match funct6 {
MM_VMAND => vs2_val[i] & vs1_val[i],
MM_VMNAND => not(vs2_val[i] & vs1_val[i]),
- MM_VMANDNOT => vs2_val[i] & not(vs1_val[i]),
+ MM_VMANDN => vs2_val[i] & not(vs1_val[i]),
MM_VMXOR => vs2_val[i] != vs1_val[i],
MM_VMOR => vs2_val[i] | vs1_val[i],
MM_VMNOR => not(vs2_val[i] | vs1_val[i]),
- MM_VMORNOT => vs2_val[i] | not(vs1_val[i]),
+ MM_VMORN => vs2_val[i] | not(vs1_val[i]),
MM_VMXNOR => vs2_val[i] == vs1_val[i]
}
}
@@ -69,11 +69,11 @@ function clause execute(MMTYPE(funct6, vs2, vs1, vd)) = {
mapping mmtype_mnemonic : mmfunct6 <-> string = {
MM_VMAND <-> "vmand.mm",
MM_VMNAND <-> "vmnand.mm",
- MM_VMANDNOT <-> "vmandnot.mm",
+ MM_VMANDN <-> "vmandn.mm",
MM_VMXOR <-> "vmxor.mm",
MM_VMOR <-> "vmor.mm",
MM_VMNOR <-> "vmnor.mm",
- MM_VMORNOT <-> "vmornot.mm",
+ MM_VMORN <-> "vmorn.mm",
MM_VMXNOR <-> "vmxnor.mm"
}
diff --git a/model/riscv_vreg_type.sail b/model/riscv_vreg_type.sail
index 3f2ddb0..a1f292a 100755
--- a/model/riscv_vreg_type.sail
+++ b/model/riscv_vreg_type.sail
@@ -53,7 +53,7 @@ enum nxfunct6 = { NX_VNCLIPU, NX_VNCLIP}
enum nxsfunct6 = { NXS_VNSRL, NXS_VNSRA }
-enum mmfunct6 = { MM_VMAND, MM_VMNAND, MM_VMANDNOT, MM_VMXOR, MM_VMOR, MM_VMNOR, MM_VMORNOT, MM_VMXNOR }
+enum mmfunct6 = { MM_VMAND, MM_VMNAND, MM_VMANDN, MM_VMXOR, MM_VMOR, MM_VMNOR, MM_VMORN, MM_VMXNOR }
enum nifunct6 = { NI_VNCLIPU, NI_VNCLIP }