On Sat, Aug 26, 2023 at 10:06:22PM -0700, Richard Henderson wrote:
> On 8/26/23 09:02, Bastian Koppelmann wrote:
> > Signed-off-by: Bastian Koppelmann <kbast...@mail.uni-paderborn.de>
> > ---
> >   target/tricore/translate.c          | 8 ++++----
> >   tests/tcg/tricore/asm/macros.h      | 9 +++++++++
> >   tests/tcg/tricore/asm/test_insert.S | 5 +++++
> >   3 files changed, 18 insertions(+), 4 deletions(-)
> > 
> > diff --git a/target/tricore/translate.c b/target/tricore/translate.c
> > index d13f85c03a..a68660b326 100644
> > --- a/target/tricore/translate.c
> > +++ b/target/tricore/translate.c
> > @@ -8225,12 +8225,12 @@ static void decode_32Bit_opc(DisasContext *ctx)
> >           temp2 = tcg_temp_new(); /* width*/
> >           temp3 = tcg_temp_new(); /* pos */
> > -        CHECK_REG_PAIR(r3);
> > +        CHECK_REG_PAIR(r2);
> 
> While it looks as if the end result is the same, it appears the macros used
> just above are wrong.  The field definitions for RCRR on page 1-4 do not
> match the field definitions for INSERT.RCRR on page 3-118.

Looks correct to me. I guess it is confusing that RCRR on page 1-4 uses s1, s2,
etc., and d for the reg names, while INSERT.RCRR on page 3-118 enumerates the 
reg
names from a to d. So the "d" for dst from page 1-4 is not the same "d" on page
3-118.

Cheers,
Bastian

Reply via email to