diff options
author | Robert Suchanek <robert.suchanek@imgtec.com> | 2015-07-15 11:43:05 +0000 |
---|---|---|
committer | Robert Suchanek <rts@gcc.gnu.org> | 2015-07-15 11:43:05 +0000 |
commit | 8e8886f62cc79daf325a26be79682a426899a9a6 (patch) | |
tree | 6eff495a3b126154ede6a0ce5d821406a3e9295f /gcc | |
parent | 0256a844ad94bf507b3baac9399f5e1ac68f6151 (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/mips/interrupt_handler-5.c | 8 |
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; +} |