Add in a JALRC alias and fix the NAL instruction.
authorMatthew Fortune <matthew.fortune@imgtec.com>
Tue, 16 Dec 2014 13:33:56 +0000 (13:33 +0000)
committerMatthew Fortune <matthew.fortune@imgtec.com>
Tue, 16 Dec 2014 22:33:12 +0000 (22:33 +0000)
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.

gas/testsuite/ChangeLog
gas/testsuite/gas/mips/r6-n32.d
gas/testsuite/gas/mips/r6-n64.d
gas/testsuite/gas/mips/r6.d
gas/testsuite/gas/mips/r6.s
opcodes/ChangeLog
opcodes/mips-opc.c

index 63d58fe24816ad5572e27209885fc11698560c95..d0aec2146bc5d4c69f52a5dfeb405ff1915194b9 100644 (file)
@@ -1,3 +1,10 @@
+2014-12-16  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * 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  <ebotcazou@adacore.com>
 
        * gas/elf/elf.exp: Skip ifunc-1 for Visium.
index 4df4f3128ad547c0686fb77a3561876004073204..d4e98590a99f53aefe956f2b72093bff349a68e3 100644 (file)
@@ -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
        \.\.\.
index d0999880675b890920b8c0c01bfa17ee47790d2d..e388e7a5c50db23a4c5e70db88a9287e9da7be90 100644 (file)
@@ -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
        \.\.\.
index 0cfccb8c646cecdac567edfc3bc7b04f21896c31..94ab611c9dfeaff6fe0dc06ce0783401543daf0a 100644 (file)
@@ -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
        \.\.\.
index 73308ade68e339401de0e654faa805663ff73977..e4ee0834071372138d3223b1a8b57ef2ad6327f5 100644 (file)
@@ -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
index 76fdf1932d54ecfb0f6b50d4730e9e3f8173b098..9fc98c63545f0d6be5ca49bde71b0858fe07959c 100644 (file)
@@ -1,3 +1,8 @@
+2014-12-16  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * mips-opc.c (mips_builtin_opcodes): Add JALRC alias for
+       JIALC.  Remove the operand from NAL.
+
 2014-12-12  Anthony Green  <green@moxielogic.com>
 
        * moxie-opc.c: Define zex instructions.
index 6e0299e25cebcefcfd63b6a181ebc7fc9fea6fa5..c4f67ad25b6d61b340ed99f3b29e1b8b883551b5 100644 (file)
@@ -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 },