https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70830

--- Comment #6 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Thu May 12 12:47:03 2016
New Revision: 236173

URL: https://gcc.gnu.org/viewcvs?rev=236173&root=gcc&view=rev
Log:
[ARM] PR target/70830: Avoid POP-{reglist}^ when returning from interrupt
handlers

        Backport from mainline
        2016-05-12  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>

        PR target/70830
        * config/arm/arm.c (arm_output_multireg_pop): Avoid POP instruction
        when popping the PC and within an interrupt handler routine.
        Add missing tab to output of "ldmfd".
        (output_return_instruction): Output LDMFD with SP update rather
        than POP when returning from interrupt handler.

        * gcc.target/arm/interrupt-1.c: Change dg-compile to dg-assemble.
        Add -save-temps to dg-options.
        Scan for ldmfd rather than pop instruction.
        * gcc.target/arm/interrupt-2.c: Likewise.
        * gcc.target/arm/pr70830.c: New test.

Added:
    branches/gcc-6-branch/gcc/testsuite/gcc.target/arm/pr70830.c
Modified:
    branches/gcc-6-branch/gcc/ChangeLog
    branches/gcc-6-branch/gcc/config/arm/arm.c
    branches/gcc-6-branch/gcc/testsuite/ChangeLog
    branches/gcc-6-branch/gcc/testsuite/gcc.target/arm/interrupt-1.c
    branches/gcc-6-branch/gcc/testsuite/gcc.target/arm/interrupt-2.c

Reply via email to