aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Hutt <timothy.hutt@codasip.com>2024-04-05 09:13:16 +0100
committerBill McSpadden <bill@riscv.org>2024-04-24 08:51:01 -0500
commit495b52ca2a1a4f132419bf6cf7174414d607589e (patch)
tree107af32bed0c6858a7932a8fdc9875e6bab4b495
parenta39a1ac64e8e716c5bb588f11809dec661ae0f1d (diff)
downloadsail-riscv-495b52ca2a1a4f132419bf6cf7174414d607589e.zip
sail-riscv-495b52ca2a1a4f132419bf6cf7174414d607589e.tar.gz
sail-riscv-495b52ca2a1a4f132419bf6cf7174414d607589e.tar.bz2
Add missing check for RV64 on float conversion instructions
These two instructions are RV64-only, as noted in the comment, but were missing the check. There are other instructions in this file that did have the check so it was just an ommission.
-rw-r--r--model/riscv_insts_dext.sail8
1 files changed, 4 insertions, 4 deletions
diff --git a/model/riscv_insts_dext.sail b/model/riscv_insts_dext.sail
index 58c5d5d..03b5824 100644
--- a/model/riscv_insts_dext.sail
+++ b/model/riscv_insts_dext.sail
@@ -902,11 +902,11 @@ mapping clause encdec = F_UN_TYPE_D(rs1, rd, FCLASS_D) if
/* D instructions, RV64 only */
-mapping clause encdec = F_UN_TYPE_D(rs1, rd, FMV_X_D) if haveDExt()
- <-> 0b111_0001 @ 0b00000 @ rs1 @ 0b000 @ rd @ 0b101_0011 if haveDExt()
+mapping clause encdec = F_UN_TYPE_D(rs1, rd, FMV_X_D) if haveDExt() & sizeof(xlen) >= 64
+ <-> 0b111_0001 @ 0b00000 @ rs1 @ 0b000 @ rd @ 0b101_0011 if haveDExt() & sizeof(xlen) >= 64
-mapping clause encdec = F_UN_TYPE_D(rs1, rd, FMV_D_X) if haveDExt()
- <-> 0b111_1001 @ 0b00000 @ rs1 @ 0b000 @ rd @ 0b101_0011 if haveDExt()
+mapping clause encdec = F_UN_TYPE_D(rs1, rd, FMV_D_X) if haveDExt() & sizeof(xlen) >= 64
+ <-> 0b111_1001 @ 0b00000 @ rs1 @ 0b000 @ rd @ 0b101_0011 if haveDExt() & sizeof(xlen) >= 64
/* Execution semantics ================================ */