diff options
Diffstat (limited to 'riscv/insns/fmaxm_d.h')
-rw-r--r-- | riscv/insns/fmaxm_d.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/riscv/insns/fmaxm_d.h b/riscv/insns/fmaxm_d.h new file mode 100644 index 0000000..0cecd64 --- /dev/null +++ b/riscv/insns/fmaxm_d.h @@ -0,0 +1,10 @@ +require_extension('D'); +require_extension(EXT_ZFA); +require_fp; +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_D(greater ? FRS1_D : FRS2_D); +set_fp_exceptions; |