aboutsummaryrefslogtreecommitdiff
path: root/model/riscv_insts_zfa.sail
diff options
context:
space:
mode:
authorJordan Carlin <jordanmcarlin@gmail.com>2024-03-26 11:40:41 -0700
committerBill McSpadden <bill@riscv.org>2024-04-29 12:51:59 -0500
commitc5ee87dfcc862a69ccad6e560423da4bb0e99dd6 (patch)
treee24de944b98d6f4792a68f7dca70079c4c6adba8 /model/riscv_insts_zfa.sail
parentd7373930aa2c6a0334125ec6cdd7110fd31b8f86 (diff)
downloadsail-riscv-c5ee87dfcc862a69ccad6e560423da4bb0e99dd6.zip
sail-riscv-c5ee87dfcc862a69ccad6e560423da4bb0e99dd6.tar.gz
sail-riscv-c5ee87dfcc862a69ccad6e560423da4bb0e99dd6.tar.bz2
split fcvtmod.w.d invalid check into 2 if statements
Diffstat (limited to 'model/riscv_insts_zfa.sail')
-rw-r--r--model/riscv_insts_zfa.sail3
1 files changed, 2 insertions, 1 deletions
diff --git a/model/riscv_insts_zfa.sail b/model/riscv_insts_zfa.sail
index 5f9f713..1443daf 100644
--- a/model/riscv_insts_zfa.sail
+++ b/model/riscv_insts_zfa.sail
@@ -747,7 +747,8 @@ function fcvtmod_helper(x64) = {
/* Raise FP exception flags, honoring the precedence of nV > nX */
let max_integer = if sign == 0b1 then unsigned(0x80000000)
else unsigned(0x7fffffff);
- let flags : bits(5) = if (true_exp > 31 | unsigned(integer) > max_integer) then nvFlag()
+ let flags : bits(5) = if true_exp > 31 then nvFlag()
+ else if unsigned(integer) > max_integer then nvFlag()
else if (fractional != zeros()) then nxFlag()
else zeros();