Skip to content

Commit

Permalink
MIPS: Fix encoding for MIPSr6 sigrie instruction.
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
henry-stuffedcow authored and Maciej W. Rozycki committed Feb 12, 2018
1 parent 830db04 commit d2159fd
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 7 deletions.
6 changes: 6 additions & 0 deletions gas/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
2018-02-12 Henry Wong <[email protected]>

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

2018-02-12 Nick Clifton <[email protected]>

* po/ru.po: Updated Russian translation.
Expand Down
4 changes: 2 additions & 2 deletions gas/testsuite/gas/mips/r6-n32.d
Original file line number Diff line number Diff line change
Expand Up @@ -497,6 +497,6 @@ Disassembly of section .text:
0+0598 <[^>]*> 41600024 dvp
0+059c <[^>]*> 41620004 evp v0
0+05a0 <[^>]*> 41620024 dvp v0
0+05a4 <[^>]*> 41700000 sigrie 0x0
0+05a8 <[^>]*> 4170ffff sigrie 0xffff
0+05a4 <[^>]*> 04170000 sigrie 0x0
0+05a8 <[^>]*> 0417ffff sigrie 0xffff
\.\.\.
4 changes: 2 additions & 2 deletions gas/testsuite/gas/mips/r6-n64.d
Original file line number Diff line number Diff line change
Expand Up @@ -753,6 +753,6 @@ Disassembly of section .text:
0+0598 <[^>]*> 41600024 dvp
0+059c <[^>]*> 41620004 evp v0
0+05a0 <[^>]*> 41620024 dvp v0
0+05a4 <[^>]*> 41700000 sigrie 0x0
0+05a8 <[^>]*> 4170ffff sigrie 0xffff
0+05a4 <[^>]*> 04170000 sigrie 0x0
0+05a8 <[^>]*> 0417ffff sigrie 0xffff
\.\.\.
4 changes: 2 additions & 2 deletions gas/testsuite/gas/mips/r6.d
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,6 @@ Disassembly of section .text:
0+0598 <[^>]*> 41600024 dvp
0+059c <[^>]*> 41620004 evp v0
0+05a0 <[^>]*> 41620024 dvp v0
0+05a4 <[^>]*> 41700000 sigrie 0x0
0+05a8 <[^>]*> 4170ffff sigrie 0xffff
0+05a4 <[^>]*> 04170000 sigrie 0x0
0+05a8 <[^>]*> 0417ffff sigrie 0xffff
\.\.\.
4 changes: 4 additions & 0 deletions opcodes/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
2018-02-12 Henry Wong <[email protected]>

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

2018-02-05 Nick Clifton <[email protected]>

* po/pt_BR.po: Updated Brazilian Portuguese translation.
Expand Down
2 changes: 1 addition & 1 deletion opcodes/mips-opc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1867,7 +1867,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"shfl.repa.qh", "X,Y,Z", 0x7b20001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 },
{"shfl.repb.qh", "X,Y,Z", 0x7ba0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 },
{"shfl.upsl.ob", "X,Y,Z", 0x78c0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 },
{"sigrie", "u", 0x41700000, 0xffff0000, TRAP, 0, I37, 0, 0 },
{"sigrie", "u", 0x04170000, 0xffff0000, TRAP, 0, I37, 0, 0 },
{"sle", "d,v,t", 0, (int) M_SLE, INSN_MACRO, 0, I1, 0, 0 },
{"sle", "d,v,I", 0, (int) M_SLE_I, INSN_MACRO, 0, I1, 0, 0 },
{"sle", "S,T", 0x46a0003e, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 },
Expand Down

0 comments on commit d2159fd

Please sign in to comment.