[PATCH 0/4] s390: Correct handling of optional operands in (dis)assembler
Andreas Krebbel
krebbel@linux.ibm.com
Thu Nov 28 09:01:00 GMT 2024
Hi Jens,
this is ok, thanks for fixing this!
Andreas
On 11/27/24 11:26, Jens Remus wrote:
> Some instructions are defined to have one or two optional last operands
> (i.e. optparm or optparm2). For these instructions the assembler
> erroneously treated any number of operands as optional. Additionally
> both the assembler and disassembler treated addressing operand sequences
> D(X,B), D(B), and D(L,B) as separate operands in this regard.
>
> Patch 1 fixes the disassembly of optional addressing operand sequences,
> specifically for "nop D1(X1,B1)".
>
> Patches 2 and 3 correct the assembler and disassembler to treat
> addressing operand sequences D(X,B), D(B), and D(L,B) as one with
> regards to optional last operands.
>
> Patch 4 simplifies the assembler parsing logic for omitted index
> register operands.
>
> Regards,
> Jens
>
> Jens Remus (4):
> s390: Fix disassembly of optional addressing operands
> s390: Treat addressing operand sequence as one in assembler
> s390: Treat addressing operand sequence as one in disassembler
> s390: Simplify parsing of omitted index register operand
>
> gas/config/tc-s390.c | 72 ++++++++++++---------
> gas/testsuite/gas/s390/zarch-optargs.d | 46 ++++++++++++--
> gas/testsuite/gas/s390/zarch-optargs.s | 46 ++++++++++++--
> opcodes/s390-dis.c | 86 +++++++++++++++++++++-----
> 4 files changed, 198 insertions(+), 52 deletions(-)
>
More information about the Binutils
mailing list