aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@imgtec.com>2016-11-16 21:35:02 +0000
committerMaciej W. Rozycki <macro@gcc.gnu.org>2016-11-16 21:35:02 +0000
commitd08c0ea31303046ce5e7da8ba8a2ff112589bc86 (patch)
tree4974835cb04e2868ad3d0eb7b5927ced442fd606 /gcc
parentfc72d1ed3c8b11437981487755a7d6edfaf06d22 (diff)
downloadgcc-d08c0ea31303046ce5e7da8ba8a2ff112589bc86.zip
gcc-d08c0ea31303046ce5e7da8ba8a2ff112589bc86.tar.gz
gcc-d08c0ea31303046ce5e7da8ba8a2ff112589bc86.tar.bz2
MIPS16/GCC: Fix DImode `casesi_internal_mips16_<mode>' assembly instructions
gcc/ * config/mips/mips.md (casesi_internal_mips16_<mode>): Add missing <d> instruction prefixes throughout. Correct formatting. gcc/testsuite/ * gcc.target/mips/code-readable-4.c (dg-final): Expect `dla' rather than `la'. From-SVN: r242514
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/mips/mips.md12
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/mips/code-readable-4.c2
4 files changed, 18 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4e437f0..30161a0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
+ * config/mips/mips.md (casesi_internal_mips16_<mode>): Add
+ missing <d> instruction prefixes throughout. Correct
+ formatting.
+
+2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
+
* 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.
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index dc071d5..0ccee9e 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -6424,14 +6424,14 @@
{
case HImode:
output_asm_insn ("sll\t%5, %0, 1", operands);
- output_asm_insn ("la\t%4, %2", operands);
+ output_asm_insn ("<d>la\t%4, %2", operands);
output_asm_insn ("<d>addu\t%5, %4, %5", operands);
output_asm_insn ("lh\t%5, 0(%5)", operands);
break;
-
+
case SImode:
output_asm_insn ("sll\t%5, %0, 2", operands);
- output_asm_insn ("la\t%4, %2", operands);
+ output_asm_insn ("<d>la\t%4, %2", operands);
output_asm_insn ("<d>addu\t%5, %4, %5", operands);
output_asm_insn ("lw\t%5, 0(%5)", operands);
break;
@@ -6439,9 +6439,9 @@
default:
gcc_unreachable ();
}
-
- output_asm_insn ("addu\t%4, %4, %5", operands);
-
+
+ output_asm_insn ("<d>addu\t%4, %4, %5", operands);
+
return "j\t%4";
}
[(set_attr "insn_count" "16")])
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0677079..3707e7c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
+ * gcc.target/mips/code-readable-4.c (dg-final): Expect `dla'
+ rather than `la'.
+
+2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
+
* 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'.
diff --git a/gcc/testsuite/gcc.target/mips/code-readable-4.c b/gcc/testsuite/gcc.target/mips/code-readable-4.c
index beb9248..1a6fdf4 100644
--- a/gcc/testsuite/gcc.target/mips/code-readable-4.c
+++ b/gcc/testsuite/gcc.target/mips/code-readable-4.c
@@ -41,7 +41,7 @@ bar (void)
return k;
}
-/* { dg-final { scan-assembler "\tla\t" } } */
+/* { dg-final { scan-assembler "\tdla\t" } } */
/* { dg-final { scan-assembler "\t\\.half\t" } } */
/* { dg-final { scan-assembler-not "%hi\\(\[^)\]*L" } } */
/* { dg-final { scan-assembler-not "%lo\\(\[^)\]*L" } } */