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/testsuite/gcc.target/arm/pr53447-1.c
0 → 100644
gcc/testsuite/gcc.target/arm/pr53447-2.c
0 → 100644
gcc/testsuite/gcc.target/arm/pr53447-3.c
0 → 100644
gcc/testsuite/gcc.target/arm/pr53447-4.c
0 → 100644
Please
register
or
sign in
to comment