aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/fmax_s.h
blob: 17d8b3c8de536899017490dc9920cf932c88f841 (plain)
1
2
3
4
5
6
7
8
9
require_either_extension('F', EXT_ZFINX);
require_fp;
bool greater = f32_lt_quiet(FRS2_F, FRS1_F) ||
               (f32_eq(FRS2_F, FRS1_F) && (FRS2_F.v & F32_SIGN));
if (isNaNF32UI(FRS1_F.v) && isNaNF32UI(FRS2_F.v))
  WRITE_FRD_F(f32(defaultNaNF32UI));
else
  WRITE_FRD_F((greater || isNaNF32UI(FRS2_F.v) ? FRS1_F : FRS2_F));
set_fp_exceptions;