microMIPS/GCC: Fix PIC call relaxation
authorMaciej W. Rozycki <macro@imgtec.com>
Wed, 16 Nov 2016 21:05:01 +0000 (21:05 +0000)
committerMaciej W. Rozycki <macro@gcc.gnu.org>
Wed, 16 Nov 2016 21:05:01 +0000 (21:05 +0000)
commit8e2be5aefcc78b213c2f44e50cbec2c799f40f8b
tree08e0b5bf62873cee3510eb0f3d5cc057e25b7fd5
parent3549e181bd89b7f8a978cae9f55679c4ccd9a010
microMIPS/GCC: Fix PIC call relaxation

gcc/
* config/mips/mips.c (mips_output_jump): Output R_MICROMIPS_JALR
rather than R_MIPS_JALR relocation in microMIPS code.  Do not
cancel short delay slots in PIC call relaxation.

gcc/testsuite/
* gcc.target/mips/call-1.c (dg-options): Add `-mno-micromips'.
(dg-final): Remove microMIPS JALRS mnemonic matching.
* gcc.target/mips/call-2.c (dg-options): Add `-mno-micromips'.
(dg-final): Remove microMIPS JALRS mnemonic matching.
* gcc.target/mips/call-3.c (dg-options): Add `-mno-micromips'.
(dg-final): Remove microMIPS JALRS mnemonic matching.
* gcc.target/mips/call-4.c (dg-options): Add `-mno-micromips'.
* gcc.target/mips/call-5.c (dg-options): Add `-mno-micromips'.
* gcc.target/mips/call-6.c (dg-options): Add `-mno-micromips'.
* gcc.target/mips/call-1u.c: New test case.
* gcc.target/mips/call-2u.c: New test case.
* gcc.target/mips/call-3u.c: New test case.
* gcc.target/mips/call-4u.c: New test case.
* gcc.target/mips/call-5u.c: New test case.
* gcc.target/mips/call-6u.c: New test case.

From-SVN: r242512
15 files changed:
gcc/ChangeLog
gcc/config/mips/mips.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/call-1.c
gcc/testsuite/gcc.target/mips/call-1u.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/call-2.c
gcc/testsuite/gcc.target/mips/call-2u.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/call-3.c
gcc/testsuite/gcc.target/mips/call-3u.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/call-4.c
gcc/testsuite/gcc.target/mips/call-4u.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/call-5.c
gcc/testsuite/gcc.target/mips/call-5u.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/call-6.c
gcc/testsuite/gcc.target/mips/call-6u.c [new file with mode: 0644]