On 29/10/26, Brian Cain wrote: > Define RAISE_FP_EXCEPTION with a HEX_EVENT_FPTRAP exception. > > Signed-off-by: Brian Cain <[email protected]> > --- > target/hexagon/arch.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/target/hexagon/arch.c b/target/hexagon/arch.c > index 3c417358e06..5ee87b320b6 100644 > --- a/target/hexagon/arch.c > +++ b/target/hexagon/arch.c > @@ -20,6 +20,7 @@ > #include "cpu.h" > #include "fma_emu.h" > #include "arch.h" > +#include "internal.h" > #include "macros.h" > > #define SF_BIAS 127 > @@ -213,10 +214,14 @@ void arch_fpop_start(CPUHexagonState *env) > */ > #define RAISE_FP_EXCEPTION do {} while (0) > #else > - /* > - * To be implemented. > - */ > -#define RAISE_FP_EXCEPTION do { g_assert_not_reached(); } while (0) > +#define RAISE_FP_EXCEPTION \ > + do { \ > + CPUState *cs = env_cpu(env); \ > + cs->exception_index = HEX_EVENT_FPTRAP; \ > + env->cause_code = HEX_CAUSE_FPTRAP_CAUSE_BADFLOAT; \ > + do_raise_exception(env, cs->exception_index, \ > + env->gpr[HEX_REG_PC], 0); \ > + } while (0) > #endif > > #define SOFTFLOAT_TEST_FLAG(FLAG, MYF, MYE) \ > -- > 2.34.1 >
Reviewed-by: Anton Johansson <[email protected]>
