aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRobert Suchanek <robert.suchanek@imgtec.com>2015-07-15 11:43:05 +0000
committerRobert Suchanek <rts@gcc.gnu.org>2015-07-15 11:43:05 +0000
commit8e8886f62cc79daf325a26be79682a426899a9a6 (patch)
tree6eff495a3b126154ede6a0ce5d821406a3e9295f /gcc
parent0256a844ad94bf507b3baac9399f5e1ac68f6151 (diff)
downloadgcc-8e8886f62cc79daf325a26be79682a426899a9a6.zip
gcc-8e8886f62cc79daf325a26be79682a426899a9a6.tar.gz
gcc-8e8886f62cc79daf325a26be79682a426899a9a6.tar.bz2
Fix restoration of hi/lo in MIPS64R2 interrupt handlers.
gcc/ * config/mips/mips.c (mips_emit_save_slot_move): Fix typo. gcc/testsuite/ * gcc.target/mips/interrupt_handler-5.c: New test. From-SVN: r225820
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/mips/mips.c2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/mips/interrupt_handler-5.c8
4 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 64208db..dac10ab 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
+
2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
Robert Suchanek <robert.suchanek@imgtec.com>
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 70240f7..c32532b 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -11131,7 +11131,7 @@ mips_emit_save_slot_move (rtx dest, rtx src, rtx temp)
{
mips_emit_move (temp, src);
if (TARGET_64BIT)
- emit_insn (gen_mthisi_di (gen_rtx_REG (TImode, MD_REG_FIRST),
+ emit_insn (gen_mthidi_ti (gen_rtx_REG (TImode, MD_REG_FIRST),
temp, gen_rtx_REG (DImode, LO_REGNUM)));
else
emit_insn (gen_mthisi_di (gen_rtx_REG (DImode, MD_REG_FIRST),
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7b02153..4c430bf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * gcc.target/mips/interrupt_handler-5.c: New test.
+
2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
Robert Suchanek <robert.suchanek@imgtec.com>
diff --git a/gcc/testsuite/gcc.target/mips/interrupt_handler-5.c b/gcc/testsuite/gcc.target/mips/interrupt_handler-5.c
new file mode 100644
index 0000000..6419479
--- /dev/null
+++ b/gcc/testsuite/gcc.target/mips/interrupt_handler-5.c
@@ -0,0 +1,8 @@
+/* Test the interrupt handler with an accumulator. */
+/* { dg-do assemble } */
+/* { dg-options "-mips64r2" } */
+_Accum a;
+__attribute__((interrupt))
+void foo () {
+ a = a*a;
+}