Commit 8e8886f6 by Robert Suchanek Committed by Robert Suchanek

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
parent 0256a844
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>
......
......@@ -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),
......
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>
......
/* Test the interrupt handler with an accumulator. */
/* { dg-do assemble } */
/* { dg-options "-mips64r2" } */
_Accum a;
__attribute__((interrupt))
void foo () {
a = a*a;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment