mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
RISC-V FPU Support
Helper routines for FPU instructions and NaN definitions. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Sagar Karandikar <sagark@eecs.berkeley.edu> Signed-off-by: Michael Clark <mjc@sifive.com>
This commit is contained in:
parent
0c3e702aca
commit
f798f1e29b
2 changed files with 377 additions and 3 deletions
|
@ -114,7 +114,8 @@ float32 float32_default_nan(float_status *status)
|
|||
#if defined(TARGET_SPARC) || defined(TARGET_M68K)
|
||||
return const_float32(0x7FFFFFFF);
|
||||
#elif defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_ALPHA) || \
|
||||
defined(TARGET_XTENSA) || defined(TARGET_S390X) || defined(TARGET_TRICORE)
|
||||
defined(TARGET_XTENSA) || defined(TARGET_S390X) || \
|
||||
defined(TARGET_TRICORE) || defined(TARGET_RISCV)
|
||||
return const_float32(0x7FC00000);
|
||||
#elif defined(TARGET_HPPA)
|
||||
return const_float32(0x7FA00000);
|
||||
|
@ -139,7 +140,7 @@ float64 float64_default_nan(float_status *status)
|
|||
#if defined(TARGET_SPARC) || defined(TARGET_M68K)
|
||||
return const_float64(LIT64(0x7FFFFFFFFFFFFFFF));
|
||||
#elif defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_ALPHA) || \
|
||||
defined(TARGET_S390X)
|
||||
defined(TARGET_S390X) || defined(TARGET_RISCV)
|
||||
return const_float64(LIT64(0x7FF8000000000000));
|
||||
#elif defined(TARGET_HPPA)
|
||||
return const_float64(LIT64(0x7FF4000000000000));
|
||||
|
@ -203,7 +204,7 @@ float128 float128_default_nan(float_status *status)
|
|||
r.high = LIT64(0x7FFF7FFFFFFFFFFF);
|
||||
} else {
|
||||
r.low = LIT64(0x0000000000000000);
|
||||
#if defined(TARGET_S390X) || defined(TARGET_PPC)
|
||||
#if defined(TARGET_S390X) || defined(TARGET_PPC) || defined(TARGET_RISCV)
|
||||
r.high = LIT64(0x7FFF800000000000);
|
||||
#else
|
||||
r.high = LIT64(0xFFFF800000000000);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue