MIPS: Fix encoding for MIPSr6 sigrie instruction.
authorHenry Wong <henry@stuffedcow.net>
Mon, 12 Feb 2018 14:50:42 +0000 (14:50 +0000)
committerMaciej W. Rozycki <macro@mips.com>
Mon, 12 Feb 2018 14:50:42 +0000 (14:50 +0000)
commitd2159fdc0f0ac1d0aaafab725b930e78a8793494
tree8003b1ce5358bf26c01eba1de7ee8215f5cc2bee
parent830db0485e19000985ccfdbacda4d4d5d62583bb
MIPS: Fix encoding for MIPSr6 sigrie instruction.

The instruction encoding for the MIPS r6 sigrie instruction seems to be
incorrect.  It's currently 0x4170xxxx (which overlaps with ei, di, evp,
and dvp), but should be 0x0417xxxx.  See ISA reference[1][2].

References:

[1] "MIPS Architecture for Programmers Volume II-A: The MIPS32
    Instruction Set Manual", Imagination Technologies, Inc., Document
    Number: MD00086, Revision 6.06, December 15, 2016, Table A.4 "MIPS32
    REGIMM Encoding of rt Field", p. 452

[2] "MIPS Architecture For Programmers Volume II-A: The MIPS64
    Instruction Set Reference Manual", Imagination Technologies, Inc.,
    Document Number: MD00087, Revision 6.06, December 15, 2016, Table
    A.4 "MIPS64 REGIMM Encoding of rt Field", p. 581

opcodes/
* mips-opc.c (mips_builtin_opcodes): Correct "sigrie" encoding.

gas/
* testsuite/gas/mips/r6.d: Update for "sigrie" encoding fix.
* testsuite/gas/mips/r6-n32.d: Likewise.
* testsuite/gas/mips/r6-n64.d: Likewise.
gas/ChangeLog
gas/testsuite/gas/mips/r6-n32.d
gas/testsuite/gas/mips/r6-n64.d
gas/testsuite/gas/mips/r6.d
opcodes/ChangeLog
opcodes/mips-opc.c