https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84845
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Tue Mar 20 10:59:26 2018 New Revision: 258678 URL: https://gcc.gnu.org/viewcvs?rev=258678&root=gcc&view=rev Log: PR target/84845 * config/aarch64/aarch64.md (*aarch64_reg_<mode>3_neg_mask2): Rename to ... (*aarch64_<optab>_reg_<mode>3_neg_mask2): ... this. If pseudos can't be created, use lowpart_subreg of operands[0] rather than operands[0] itself. (*aarch64_reg_<mode>3_minus_mask): Rename to ... (*aarch64_ashl_reg_<mode>3_minus_mask): ... this. (*aarch64_<optab>_reg_di3_mask2): Use const_int_operand predicate and n constraint instead of aarch64_shift_imm_di and Usd. (*aarch64_reg_<optab>_minus<mode>3): Rename to ... (*aarch64_<optab>_reg_minus<mode>3): ... this. * gcc.c-torture/compile/pr84845.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr84845.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/aarch64/aarch64.md trunk/gcc/testsuite/ChangeLog