aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/fmax_d.h
diff options
context:
space:
mode:
authorliweiwei <liweiwei@iscas.ac.cn>2021-10-14 09:49:10 +0800
committerWeiwei Li <liweiwei@iscas.ac.cn>2022-08-04 10:11:26 +0800
commit5de0c89c034cf64fdab8e36d2dc7488aa035d823 (patch)
treeb5ed8f034d95a2fb22e7ec64d13c73484c2c059b /riscv/insns/fmax_d.h
parent7812b01154c6a2f19e0d4bc9f00e5d5fcb9aec22 (diff)
downloadspike-5de0c89c034cf64fdab8e36d2dc7488aa035d823.zip
spike-5de0c89c034cf64fdab8e36d2dc7488aa035d823.tar.gz
spike-5de0c89c034cf64fdab8e36d2dc7488aa035d823.tar.bz2
Modify F/D/Zfh instructions to add support for Zfinx/Zdinx/Zhinx{min} instructions
change the extention check for F/D/Zfh instructions modify the F/D/Zfh instructions to read X regs when enable Zfinx Co-authored-by: wangmeng <shusheng8495@hotmail.com>
Diffstat (limited to 'riscv/insns/fmax_d.h')
-rw-r--r--riscv/insns/fmax_d.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/riscv/insns/fmax_d.h b/riscv/insns/fmax_d.h
index 11491f5..3e05b7e 100644
--- a/riscv/insns/fmax_d.h
+++ b/riscv/insns/fmax_d.h
@@ -1,9 +1,9 @@
-require_extension('D');
+require_either_extension('D', EXT_ZDINX);
require_fp;
-bool greater = f64_lt_quiet(f64(FRS2), f64(FRS1)) ||
- (f64_eq(f64(FRS2), f64(FRS1)) && (f64(FRS2).v & F64_SIGN));
-if (isNaNF64UI(f64(FRS1).v) && isNaNF64UI(f64(FRS2).v))
- WRITE_FRD(f64(defaultNaNF64UI));
+bool greater = f64_lt_quiet(FRS2_D, FRS1_D) ||
+ (f64_eq(FRS2_D, FRS1_D) && (FRS2_D.v & F64_SIGN));
+if (isNaNF64UI(FRS1_D.v) && isNaNF64UI(FRS2_D.v))
+ WRITE_FRD_D(f64(defaultNaNF64UI));
else
- WRITE_FRD(greater || isNaNF64UI(f64(FRS2).v) ? FRS1 : FRS2);
+ WRITE_FRD_D((greater || isNaNF64UI(FRS2_D.v) ? FRS1_D : FRS2_D));
set_fp_exceptions;