On Thu, 5 Dec 2024 at 21:21, Peter Maydell <peter.mayd...@linaro.org> wrote: > > On Sun, 1 Dec 2024 at 15:17, Richard Henderson > <richard.hender...@linaro.org> wrote: > > > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > > --- > > target/arm/tcg/translate-a64.c | 287 +++++++++++++-------------------- > > target/arm/tcg/a64.decode | 8 + > > 2 files changed, 116 insertions(+), 179 deletions(-) > > > > +/* FCMP, FCMPE */ > > +static bool trans_FCMP(DisasContext *s, arg_FCMP *a) > > +{ > > + int check; > > + > > + if (a->z && a->rm != 0) { > > + return false; > > We did not check this case before, and the pseudocode in the > Arm ARM doesn't check it either (there's a comment for the rm > field that says "ignored when opc<0> == '1'").
...this probably falls under the "RES0 UNPREDICTABLE" handling, but "ignore the field" is permitted for that. If we really want to change our choice of UNPREDICTABLE here I think we should do it separately from this refactoring. -- PMM