This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][ARM] PR target/70008




On 2/29/2016 4:06 AM, Kyrill Tkachov wrote:
Hi Michael,

On 29/02/16 04:47, Michael Collison wrote:
This patches address PR 70008, where a reverse subtract with carry instruction can be generated in thumb2 mode. It was tested with no regressions in arm and thumb modes on the following targets:

arm-none-linux-gnueabi
arm-none-linux-gnuabihf
armeb-none-linux-gnuabihf
arm-none-eabi

Okay for trunk?

2016-02-28  Michael Collison <michael.collison@linaro.org>

    PR target/70008
    * config/arm/arm.md (*subsi3_carryin): Only match pattern if
    TARGET_ARM due to 'rsc' instruction alternative.
    * config/arm/thumb2.md (*thumb2_subsi3_carryin): New pattern.



The *subsi3_carrying pattern has the arch attribute:
   (set_attr "arch" "*,a")

That means that the second alternative that generates the RSC instruction is only enabled for ARM mode. Do you have a testcase where this doesn't happen and this pattern generates
the second alternative for Thumb2?

No I don't have a test case; i noticed the pattern when working on the overflow project. I did not realize that an attribute could affect the matching of an alternative. I will close the bug.



Thanks,
Kyrill


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]