This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Automatic opcode table generation and gas test cases for s/390.

I found some time and could do some improvements to the s/390 backend
of the binutils. I have two patches that I'd like to get integrated:
1) binutils-optab390.diff
I have changed the macros that are used to define the opcode table. I
find the new method much more sensible since it is easier to choose
the correct format just by looking at the binary representation of the
instruction. In addition I removed the pregenerated opcode table from
s390-opc.c and modified the make process so that the opcode table is
generated automagically from s390-opc.txt.

ChangeLog for gas:

2001-09-14  Martin Schwidefsky <>

     * tc-s390.c (s390_insn): Add code to cope with 6 byte O_constants
     in 64 bit mode and make format "e" work.

ChangeLog for opcodes:

2001-09-14  Martin Schwidefsky <>

     * Add rules and dependencies to create the s/390 opcode
     table out of s390-opc.txt automatically.
     * s390-mkopc.c (dumpTable): Change output to create a complete file.
     * s390-opc.c: New improved opcode format macros and remove the
     pregenerated opcode table.
     * s390-opc.txt: Adapt to new improved opcode format macros.

(See attached file: binutils-optab390.diff)

2) binutils-test390.diff
This second patch is dependent on the first and adds test cases for
the S/390 gas. opcode.s and opcode64.s test the 31 and 64 bit
instructions, operands.s and operands64.s test the .insn pseudo
instruction with the different instruction formats and reloc.s
and reloc64.s test the special s/390 relocations.

ChangeLog for gas/testsuite:

2001-09-14  Martin Schwidefsky <>

     * gas/s390/opcode.d: New file.
     * gas/s390/opcode.s: New file.
     * gas/s390/opcode64.d: New file.
     * gas/s390/opcode64.s: New file.
     * gas/s390/operands.d: New file.
     * gas/s390/operands.s: New file.
     * gas/s390/operands64.d: New file.
     * gas/s390/operands64.s: New file.
     * gas/s390/reloc.d: New file.
     * gas/s390/reloc.s: New file.
     * gas/s390/reloc64.d: New file.
     * gas/s390/reloc64.s: New file.
     * gas/s390/s390.exp: New file.

(See attached file: binutils-test390.diff)

blue skies,

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Schönaicherstr. 220, D-71032 Böblingen, Telefon: 49 - (0)7031 - 16-2247



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]