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