On Tue, 28 May 2024 at 18:36, Richard Henderson
<richard.hender...@linaro.org> wrote:
>
> On 5/28/24 06:18, Peter Maydell wrote:
> > On Sat, 25 May 2024 at 00:25, Richard Henderson
> > <richard.hender...@linaro.org> wrote:
> >>
> >> For all, rm == 15 is invalid.
> >> Prior to v8, thumb with rm == 13 is invalid.
> >> For PLDW, rn == 15 is invalid.
> >
> >> Fixes a RISU mismatch for the HINTSPACE pattern in t32.risu
> >> compared to a neoverse-n1 host.
> >
> > These are UNPREDICTABLE cases, not invalid. In general
> > we don't try to match a specific implementation's
> > UNPREDICTABLE choices.
> >
> > I think we're better off avoiding the mismatch by improving
> > the risu patterns to avoid the UNPREDICTABLE cases.
>
> We do plenty of other treatments of UNPREDICTABLE as UNDEF (e.g. STREX).  Why 
> is this case
> any different?

It just seems like a lot of effort to go to. Sometimes we
UNDEF for UNPREDICTABLEs, but quite often we say "the
behaviour we get for free is fine, so no need to write
extra code".

In this particular case, also:
 * we'd need to go back and cross-check against older
   architecture manuals and also look at whether M-profile
   and A-profile are doing the same thing here
 * the "v8 loosens the UNPREDICTABLE case for m = 13 T1
   encoding" looks suspiciously to me like a "nobody ever
   actually made this do anything except behave like the A1
   encoding, so make T1 and A1 the same" kind of relaxation

Basically, it would take me probably 15+ minutes to review
the changes against the various versions of the docs and
I don't think it's worth the effort :-)

thanks
-- PMM

Reply via email to