https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83628
--- Comment #3 from uros at gcc dot gnu.org --- Author: uros Date: Thu Jan 4 09:42:01 2018 New Revision: 256228 URL: https://gcc.gnu.org/viewcvs?rev=256228&root=gcc&view=rev Log: PR target/83628 * config/alpha/alpha.md (*sadd<modesuffix>): Use ASHIFT instead of MULT rtx. Update all corresponding splitters. (*saddl_se): Ditto. (*ssub<modesuffix>): Ditto. (*ssubl_se): Ditto. (*cmp_sadd_di): Update split patterns. (*cmp_sadd_si): Ditto. (*cmp_sadd_sidi): Ditto. (*cmp_ssub_di): Ditto. (*cmp_ssub_si): Ditto. (*cmp_ssub_sidi): Ditto. * config/alpha/predicates.md (const23_operand): New predicate. * config/alpha/alpha.c (alpha_rtx_costs) [PLUS, MINUS]: Look for ASHIFT, not MULT inner operand. (alpha_split_conditional_move): Update for *sadd<modesuffix> change. testsuite/ChangeLog: PR target/83628 * gcc.target/alpha/pr83628-1.c: New test. * gcc.target/alpha/pr83628-2.c: Ditto. Added: trunk/gcc/testsuite/gcc.target/alpha/pr83628-1.c trunk/gcc/testsuite/gcc.target/alpha/pr83628-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/alpha/alpha.c trunk/gcc/config/alpha/alpha.md trunk/gcc/config/alpha/predicates.md trunk/gcc/testsuite/ChangeLog