diff options
Diffstat (limited to 'riscv/insns/fmin_q.h')
-rw-r--r-- | riscv/insns/fmin_q.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/riscv/insns/fmin_q.h b/riscv/insns/fmin_q.h new file mode 100644 index 0000000..675c7fd --- /dev/null +++ b/riscv/insns/fmin_q.h @@ -0,0 +1,8 @@ +require_extension('Q'); +require_fp; +bool less = f128_lt_quiet(f128(FRS1), f128(FRS2)) || + (f128_eq(f128(FRS1), f128(FRS2)) && (f128(FRS1).v[1] & F64_SIGN)); +WRITE_FRD(less || isNaNF128(f128(FRS2)) ? FRS1 : FRS2); +if (isNaNF128(f128(FRS1)) && isNaNF128(f128(FRS2))) + WRITE_FRD(f128(defaultNaNF128())); +set_fp_exceptions; |