r243745 - in /trunk/gcc: ChangeLog config/arm/a...

wilco@gcc.gnu.org wilco@gcc.gnu.org
Fri Dec 16 13:14:00 GMT 2016


Author: wilco
Date: Fri Dec 16 13:14:46 2016
New Revision: 243745

URL: https://gcc.gnu.org/viewcvs?rev=243745&root=gcc&view=rev
Log:
The negdi2 patterns for ARM and Thumb-2 are duplicated because Thumb-2
doesn't support RSC with an immediate.  We can however emulate RSC with
zero using a shifted SBC.  If we add this to subsi3_carryin the negdi
patterns can be merged, simplifying things a bit.  This should generate
identical code in all cases.

    gcc/
        * config/arm/arm.md (subsi3_carryin): Add Thumb-2 RSC #0.
        (arm_negdi2) Rename to negdi2_insn, allow on Thumb-2.
        * config/arm/thumb2.md (thumb2_negdi2): Remove pattern.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/arm.md
    trunk/gcc/config/arm/thumb2.md



More information about the Gcc-cvs mailing list