19 changed files with 31 additions and 34 deletions
@ -1,4 +1,4 @@ |
|||
require_extension('C'); |
|||
require_extension('D'); |
|||
require_fp; |
|||
MMU.store_uint64(RVC_RS1S + insn.rvc_ld_imm(), RVC_FRS2S); |
|||
MMU.store_uint64(RVC_RS1S + insn.rvc_ld_imm(), RVC_FRS2S.v); |
|||
|
|||
@ -1,4 +1,4 @@ |
|||
require_extension('C'); |
|||
require_extension('D'); |
|||
require_fp; |
|||
MMU.store_uint64(RVC_SP + insn.rvc_sdsp_imm(), RVC_FRS2); |
|||
MMU.store_uint64(RVC_SP + insn.rvc_sdsp_imm(), RVC_FRS2.v); |
|||
|
|||
@ -1,6 +1,6 @@ |
|||
require_extension('D'); |
|||
require_fp; |
|||
WRITE_FRD(f64_le_quiet(f64(FRS2), f64(FRS1)) || isNaNF64UI(uint64_t(FRS2)) ? FRS1 : FRS2); |
|||
if ((isNaNF64UI(uint64_t(FRS1)) && isNaNF64UI(uint64_t(FRS2))) || softfloat_exceptionFlags) |
|||
WRITE_FRD(f64_le_quiet(f64(FRS2), f64(FRS1)) || isNaNF64UI(f64(FRS2).v) ? FRS1 : FRS2); |
|||
if ((isNaNF64UI(f64(FRS1).v) && isNaNF64UI(f64(FRS2).v)) || softfloat_exceptionFlags) |
|||
WRITE_FRD(f64(defaultNaNF64UI)); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,6 +1,6 @@ |
|||
require_extension('F'); |
|||
require_fp; |
|||
WRITE_FRD(f32_le_quiet(f32(FRS2), f32(FRS1)) || isNaNF32UI(uint32_t(FRS2)) ? FRS1 : FRS2); |
|||
if ((isNaNF32UI(uint32_t(FRS1)) && isNaNF32UI(uint32_t(FRS2))) || softfloat_exceptionFlags) |
|||
WRITE_FRD(f32_le_quiet(f32(FRS2), f32(FRS1)) || isNaNF32UI(f32(FRS2).v) ? FRS1 : FRS2); |
|||
if ((isNaNF32UI(f32(FRS1).v) && isNaNF32UI(f32(FRS2).v)) || softfloat_exceptionFlags) |
|||
WRITE_FRD(f32(defaultNaNF32UI)); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,6 +1,6 @@ |
|||
require_extension('D'); |
|||
require_fp; |
|||
WRITE_FRD(f64_lt_quiet(f64(FRS1), f64(FRS2)) || isNaNF64UI(uint64_t(FRS2)) ? FRS1 : FRS2); |
|||
if ((isNaNF64UI(uint64_t(FRS1)) && isNaNF64UI(uint64_t(FRS2))) || softfloat_exceptionFlags) |
|||
WRITE_FRD(f64_lt_quiet(f64(FRS1), f64(FRS2)) || isNaNF64UI(f64(FRS2).v) ? FRS1 : FRS2); |
|||
if ((isNaNF64UI(f64(FRS1).v) && isNaNF64UI(f64(FRS2).v)) || softfloat_exceptionFlags) |
|||
WRITE_FRD(f64(defaultNaNF64UI)); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,6 +1,6 @@ |
|||
require_extension('F'); |
|||
require_fp; |
|||
WRITE_FRD(f32_lt_quiet(f32(FRS1), f32(FRS2)) || isNaNF32UI(uint32_t(FRS2)) ? FRS1 : FRS2); |
|||
if ((isNaNF32UI(uint32_t(FRS1)) && isNaNF32UI(uint32_t(FRS2))) || softfloat_exceptionFlags) |
|||
WRITE_FRD(f32_lt_quiet(f32(FRS1), f32(FRS2)) || isNaNF32UI(f32(FRS2).v) ? FRS1 : FRS2); |
|||
if ((isNaNF32UI(f32(FRS1).v) && isNaNF32UI(f32(FRS2).v)) || softfloat_exceptionFlags) |
|||
WRITE_FRD(f32(defaultNaNF32UI)); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,5 +1,5 @@ |
|||
require_extension('D'); |
|||
require_fp; |
|||
softfloat_roundingMode = RM; |
|||
WRITE_FRD(f64_mulAdd(f64(FRS1), f64(FRS2), f64(FRS3 ^ (uint64_t)INT64_MIN))); |
|||
WRITE_FRD(f64_mulAdd(f64(FRS1), f64(FRS2), f64(f64(FRS3).v ^ F64_SIGN))); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,5 +1,5 @@ |
|||
require_extension('F'); |
|||
require_fp; |
|||
softfloat_roundingMode = RM; |
|||
WRITE_FRD(f32_mulAdd(f32(FRS1), f32(FRS2), f32(FRS3 ^ (uint32_t)INT32_MIN))); |
|||
WRITE_FRD(f32_mulAdd(f32(FRS1), f32(FRS2), f32(f32(FRS3).v ^ F32_SIGN))); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,4 +1,4 @@ |
|||
require_extension('D'); |
|||
require_rv64; |
|||
require_fp; |
|||
WRITE_RD(FRS1); |
|||
WRITE_RD(FRS1.v); |
|||
|
|||
@ -1,3 +1,3 @@ |
|||
require_extension('F'); |
|||
require_fp; |
|||
WRITE_RD(sext32(uint32_t(FRS1))); |
|||
WRITE_RD(sext32(FRS1.v)); |
|||
|
|||
@ -1,5 +1,5 @@ |
|||
require_extension('D'); |
|||
require_fp; |
|||
softfloat_roundingMode = RM; |
|||
WRITE_FRD(f64_mulAdd(f64(FRS1 ^ (uint64_t)INT64_MIN), f64(FRS2), f64(FRS3 ^ (uint64_t)INT64_MIN))); |
|||
WRITE_FRD(f64_mulAdd(f64(f64(FRS1).v ^ F64_SIGN), f64(FRS2), f64(f64(FRS3).v ^ F64_SIGN))); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,5 +1,5 @@ |
|||
require_extension('F'); |
|||
require_fp; |
|||
softfloat_roundingMode = RM; |
|||
WRITE_FRD(f32_mulAdd(f32(FRS1 ^ (uint32_t)INT32_MIN), f32(FRS2), f32(FRS3 ^ (uint32_t)INT32_MIN))); |
|||
WRITE_FRD(f32_mulAdd(f32(f32(FRS1).v ^ F32_SIGN), f32(FRS2), f32(f32(FRS3).v ^ F32_SIGN))); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,5 +1,5 @@ |
|||
require_extension('D'); |
|||
require_fp; |
|||
softfloat_roundingMode = RM; |
|||
WRITE_FRD(f64_mulAdd(f64(FRS1 ^ (uint64_t)INT64_MIN), f64(FRS2), f64(FRS3))); |
|||
WRITE_FRD(f64_mulAdd(f64(f64(FRS1).v ^ F64_SIGN), f64(FRS2), f64(FRS3))); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,5 +1,5 @@ |
|||
require_extension('F'); |
|||
require_fp; |
|||
softfloat_roundingMode = RM; |
|||
WRITE_FRD(f32_mulAdd(f32(FRS1 ^ (uint32_t)INT32_MIN), f32(FRS2), f32(FRS3))); |
|||
WRITE_FRD(f32_mulAdd(f32(f32(FRS1).v ^ F32_SIGN), f32(FRS2), f32(FRS3))); |
|||
set_fp_exceptions; |
|||
|
|||
@ -1,3 +1,3 @@ |
|||
require_extension('D'); |
|||
require_fp; |
|||
MMU.store_uint64(RS1 + insn.s_imm(), FRS2); |
|||
MMU.store_uint64(RS1 + insn.s_imm(), FRS2.v); |
|||
|
|||
@ -1,3 +1,3 @@ |
|||
require_extension('F'); |
|||
require_fp; |
|||
MMU.store_uint32(RS1 + insn.s_imm(), FRS2); |
|||
MMU.store_uint32(RS1 + insn.s_imm(), FRS2.v); |
|||
|
|||
Loading…
Reference in new issue