-
- Downloads
re PR target/53447 (missed optimization of 64bit ALU operation with small constant)
PR target/53447 * config/arm/arm-protos.h (const_ok_for_dimode_op): New prototype. * config/arm/arm.c (const_ok_for_dimode_op): New function. * config/arm/constraints.md (Dd): New constraint. * config/arm/predicates.md (arm_adddi_operand): New predicate. * config/arm/arm.md (adddi3): Extend it to handle constants. (arm_adddi3): Likewise. (addsi3_carryin_<optab>): Extend it to handle sbc case. (addsi3_carryin_alt2_<optab>): Likewise. * config/arm/neon.md (adddi3_neon): Extend it to handle constants. * gcc.target/arm/pr53447-1.c: New testcase. * gcc.target/arm/pr53447-2.c: New testcase. * gcc.target/arm/pr53447-3.c: New testcase. * gcc.target/arm/pr53447-4.c: New testcase. From-SVN: r189102
Showing
- gcc/ChangeLog 13 additions, 0 deletionsgcc/ChangeLog
- gcc/config/arm/arm-protos.h 1 addition, 0 deletionsgcc/config/arm/arm-protos.h
- gcc/config/arm/arm.c 22 additions, 0 deletionsgcc/config/arm/arm.c
- gcc/config/arm/arm.md 17 additions, 13 deletionsgcc/config/arm/arm.md
- gcc/config/arm/constraints.md 7 additions, 1 deletiongcc/config/arm/constraints.md
- gcc/config/arm/neon.md 10 additions, 7 deletionsgcc/config/arm/neon.md
- gcc/config/arm/predicates.md 5 additions, 0 deletionsgcc/config/arm/predicates.md
- gcc/testsuite/ChangeLog 8 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/arm/pr53447-1.c 8 additions, 0 deletionsgcc/testsuite/gcc.target/arm/pr53447-1.c
- gcc/testsuite/gcc.target/arm/pr53447-2.c 8 additions, 0 deletionsgcc/testsuite/gcc.target/arm/pr53447-2.c
- gcc/testsuite/gcc.target/arm/pr53447-3.c 9 additions, 0 deletionsgcc/testsuite/gcc.target/arm/pr53447-3.c
- gcc/testsuite/gcc.target/arm/pr53447-4.c 9 additions, 0 deletionsgcc/testsuite/gcc.target/arm/pr53447-4.c
Loading
Please register or sign in to comment