Range of element index is too large on MIPS MSA element selection instructions.
authorAndrew Bennett <andrew.bennett@imgtec.com>
Mon, 16 Dec 2013 15:19:34 +0000 (07:19 -0800)
committerAndrew Bennett <andrew.bennett@imgtec.com>
Mon, 16 Dec 2013 15:43:20 +0000 (07:43 -0800)
commite269fea784da752b49b5fc406ee7ea8403955a28
tree3772ebf657a4355834f582bfffe0e5e3fd775cf5
parent9a362b9a3291ef43316e1606e2b26fe55ebb187f
Range of element index is too large on MIPS MSA element selection instructions.

The element index range for the following MIPS MSA instructions: sldi, splati,
copy_s, copy_u, insert and insve is 1 bit too large.  This patch fixes this issue.

ChangeLog:

gas/testsuite/gas/mips/
* msa.s: Reduced maximum element index range for sldi, splati,
copy_s, copy_u, insert and insve instructions.
* msa64.s: Likewise.
* micromips@msa.d: Likewise.
* micromips@msa64.d: Likewise.
* msa.d: Likewise.
* msa64.d: Likewise.

include/opcode/
* mips.h: Updated description of +o, +u, +v and +w for MIPS and
microMIPS.

opcodes/
* micromips-opc.c (decode_micromips_operand): Reduced range of +o, +u,
+v and +w.
(micromips_opcodes): Reduced element index range for sldi, splati,
copy_s, copy_u, insert and insve instructions.
* opcodes/mips-opc.c (decode_mips_operand): Reduced range of +o, +u,
+v and +w.
(mips_builtin_opcodes): Reduced element index range for sldi, splati,
copy_s, copy_u, insert and insve instructions.
12 files changed:
gas/testsuite/ChangeLog
gas/testsuite/gas/mips/micromips@msa.d
gas/testsuite/gas/mips/micromips@msa64.d
gas/testsuite/gas/mips/msa.d
gas/testsuite/gas/mips/msa.s
gas/testsuite/gas/mips/msa64.d
gas/testsuite/gas/mips/msa64.s
include/opcode/ChangeLog
include/opcode/mips.h
opcodes/ChangeLog
opcodes/micromips-opc.c
opcodes/mips-opc.c