]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PATCH v2] sh: libgcc: Implement fenv rouding and exceptions for soft-fp [PR118257]
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Sat, 19 Apr 2025 14:12:07 +0000 (08:12 -0600)
committerJeff Law <jlaw@ventanamicro.com>
Sat, 19 Apr 2025 14:12:07 +0000 (08:12 -0600)
commit05c4e3ecb54d22836ba2ae0ec1efedf8b78d7522
tree6386a27c276a394ebc18472c576ffc7b9fcab7bf
parent2a643f55f5acc05dcc7cee133647bf3193d5b563
[PATCH v2] sh: libgcc: Implement fenv rouding and exceptions for soft-fp [PR118257]

Implement fenv rouding and exceptions for soft-fp, as per SuperH
arch specification.

No new tests required, as it's already covered by many torture tests
with fenv_exceptions.

PR target/118257

libgcc/ChangeLog:

* config/sh/sfp-machine.h (_FPU_GETCW): Implement with builtin.
(_FPU_SETCW): Likewise.
(FP_EX_ENABLE_SHIFT): Derive from arch spec.
(FP_EX_CAUSE_SHIFT): Likewise.
(FP_RND_MASK): Likewise.
(FP_EX_INVALID): Likewise.
(FP_EX_DIVZERO): Likewise.
(FP_EX_ALL): Likewise.
(FP_EX_OVERFLOW): Likewise.
(FP_EX_UNDERFLOW): Likewise.
(FP_EX_INEXACT): Likewise.
(_FP_DECL_EX): Declear default FCSR value.
(FP_RND_NEAREST): Derive from arch spec.
(FP_RND_ZERO): Likewise.
(FP_INIT_ROUNDMODE): Likewise.
(FP_ROUNDMODE): Likewise.
(FP_TRAPPING_EXCEPTIONS): Likewise.
(FP_HANDLE_EXCEPTIONS): Implement with _FPU_SETCW.
libgcc/config/sh/sfp-machine.h