From: Matthew Fortune Date: Tue, 16 Dec 2014 13:33:56 +0000 (+0000) Subject: Add in a JALRC alias and fix the NAL instruction. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b9121b573e2e2a9cc5a96bf84727c882cd21f2f9;p=binutils-gdb.git Add in a JALRC alias and fix the NAL instruction. opcodes/ * mips-opc.c (mips_builtin_opcodes): Add JALRC alias for JIALC. Remove the operand from NAL. gas/testsuite/ * gas/mips/r6.s: Test JALRC and NAL * gas/mips/r6-n32.d: Add expected output for JALRC and NAL. * gas/mips/r6-n64.d: Likewise. * gas/mips/r6.d: Likewise. --- diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 63d58fe2481..d0aec2146bc 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-12-16 Matthew Fortune + + * gas/mips/r6.s: Test JALRC and NAL + * gas/mips/r6-n32.d: Add expected output for JALRC and NAL. + * gas/mips/r6-n64.d: Likewise. + * gas/mips/r6.d: Likewise. + 2014-12-06 Eric Botcazou * gas/elf/elf.exp: Skip ifunc-1 for Visium. diff --git a/gas/testsuite/gas/mips/r6-n32.d b/gas/testsuite/gas/mips/r6-n32.d index 4df4f3128ad..d4e98590a99 100644 --- a/gas/testsuite/gas/mips/r6-n32.d +++ b/gas/testsuite/gas/mips/r6-n32.d @@ -490,4 +490,7 @@ Disassembly of section .text: 0+057c <[^>]*> ec8bffff lwpc a0,00100578 <[^>]*> 0+0580 <[^>]*> 00000000 nop 0+0584 <[^>]*> ec83ffff lapc a0,00100580 <[^>]*> +0+0588 <[^>]*> f8040000 jalrc a0 +0+058c <[^>]*> 04100000 nal +0+0590 <[^>]*> 00000000 nop \.\.\. diff --git a/gas/testsuite/gas/mips/r6-n64.d b/gas/testsuite/gas/mips/r6-n64.d index d0999880675..e388e7a5c50 100644 --- a/gas/testsuite/gas/mips/r6-n64.d +++ b/gas/testsuite/gas/mips/r6-n64.d @@ -746,4 +746,7 @@ Disassembly of section .text: 0+057c <[^>]*> ec8bffff lwpc a0,0000000000100578 <[^>]*> 0+0580 <[^>]*> 00000000 nop 0+0584 <[^>]*> ec83ffff lapc a0,0000000000100580 <[^>]*> +0+0588 <[^>]*> f8040000 jalrc a0 +0+058c <[^>]*> 04100000 nal +0+0590 <[^>]*> 00000000 nop \.\.\. diff --git a/gas/testsuite/gas/mips/r6.d b/gas/testsuite/gas/mips/r6.d index 0cfccb8c646..94ab611c9df 100644 --- a/gas/testsuite/gas/mips/r6.d +++ b/gas/testsuite/gas/mips/r6.d @@ -489,4 +489,7 @@ Disassembly of section .text: 0+057c <[^>]*> ec8bffff lwpc a0,00100578 <[^>]*> 0+0580 <[^>]*> 00000000 nop 0+0584 <[^>]*> ec83ffff lapc a0,00100580 <[^>]*> +0+0588 <[^>]*> f8040000 jalrc a0 +0+058c <[^>]*> 04100000 nal +0+0590 <[^>]*> 00000000 nop \.\.\. diff --git a/gas/testsuite/gas/mips/r6.s b/gas/testsuite/gas/mips/r6.s index 73308ade68e..e4ee0834071 100644 --- a/gas/testsuite/gas/mips/r6.s +++ b/gas/testsuite/gas/mips/r6.s @@ -258,6 +258,9 @@ new: maddf.s $f0,$f1,$f2 nop addiu $4, $pc, (262143 << 2) + jalrc $4 + nal + # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... .align 2 .space 8 diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 76fdf1932d5..9fc98c63545 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2014-12-16 Matthew Fortune + + * mips-opc.c (mips_builtin_opcodes): Add JALRC alias for + JIALC. Remove the operand from NAL. + 2014-12-12 Anthony Green * moxie-opc.c: Define zex instructions. diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c index 6e0299e25ce..c4f67ad25b6 100644 --- a/opcodes/mips-opc.c +++ b/opcodes/mips-opc.c @@ -430,7 +430,7 @@ const struct mips_opcode mips_builtin_opcodes[] = {"move", "d,s", 0x00000025, 0xfc1f07ff, WR_1|RD_2, INSN2_ALIAS, I1, 0, 0 },/* or */ {"b", "p", 0x10000000, 0xffff0000, UBD, INSN2_ALIAS, I1, 0, 0 },/* beq 0,0 */ {"b", "p", 0x04010000, 0xffff0000, UBD, INSN2_ALIAS, I1, 0, 0 },/* bgez 0 */ -{"nal", "p", 0x04100000, 0xffff0000, WR_31|CBD, INSN2_ALIAS, I1, 0, 0 },/* bltzal 0 */ +{"nal", "", 0x04100000, 0xffffffff, WR_31|CBD, INSN2_ALIAS, I1, 0, 0 },/* bltzal 0 */ {"bal", "p", 0x04110000, 0xffff0000, WR_31|UBD, INSN2_ALIAS, I1, 0, 0 },/* bgezal 0*/ {"bc", "+'", 0xc8000000, 0xfc000000, NODS, 0, I37, 0, 0 }, {"balc", "+'", 0xe8000000, 0xfc000000, WR_31|NODS, 0, I37, 0, 0 }, @@ -3254,6 +3254,7 @@ const struct mips_opcode mips_builtin_opcodes[] = {"jic", "t,j", 0xd8000000, 0xffe00000, RD_1|NODS, 0, I37, 0, 0 }, {"bnezc", "-s,+\"", 0xf8000000, 0xfc000000, RD_1|NODS, FS, I37, 0, 0 }, +{"jalrc", "t", 0xf8000000, 0xffe0ffff, RD_1|NODS, 0, I37, 0, 0 }, {"jialc", "t,j", 0xf8000000, 0xffe00000, RD_1|NODS, 0, I37, 0, 0 }, {"cmp.af.s", "D,S,T", 0x46800000, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 },