[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 04/10] target/tricore: Implement FTOU insn
From: |
Bastian Koppelmann |
Subject: |
Re: [PATCH 04/10] target/tricore: Implement FTOU insn |
Date: |
Sun, 27 Aug 2023 13:07:29 +0200 |
On Sat, Aug 26, 2023 at 09:50:51PM -0700, Richard Henderson wrote:
> On 8/26/23 09:02, Bastian Koppelmann wrote:
> > +uint32_t helper_ftou(CPUTriCoreState *env, uint32_t arg)
> > +{
> > + float32 f_arg = make_float32(arg);
> > + uint32_t result;
> > + int32_t flags = 0;
> > +
> > + if (float32_is_any_nan(f_arg)) {
> > + result = 0;
> > + flags |= float_flag_invalid;
> > + } else if (float32_lt_quiet(f_arg, 0, &env->fp_status)) {
> > + result = 0;
> > + flags = float_flag_invalid;
> > + } else {
> > + result = float32_to_uint32(f_arg, &env->fp_status);
> > + flags = f_get_excp_flags(env);
> > + }
>
> You should allow softfloat to diagnose the special cases, and negative -> 0
> is standard behaviour. Therefore:
You're right. However, there is one special case, negative -> 0 ought to raise
float_flags_invalid. All that has already been done for ftouz, so I will match
that implementation.
Cheers,
Bastian
[PATCH 05/10] target/tricore: Implement ftohp insn, Bastian Koppelmann, 2023/08/26
[PATCH 06/10] target/tricore: Implement hptof insn, Bastian Koppelmann, 2023/08/26