https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77822
--- Comment #29 from ktkachov at gcc dot gnu.org --- Author: ktkachov Date: Tue Nov 22 16:55:16 2016 New Revision: 242709 URL: https://gcc.gnu.org/viewcvs?rev=242709&root=gcc&view=rev Log: [AArch64] Fix PR target/77822: Use tighter predicates for zero_extract patterns Backport from mainline 2016-11-07 Kyrylo Tkachov <kyrylo.tkac...@arm.com> PR target/77822 * config/aarch64/aarch64.md (*tb<optab><mode>1): Use aarch64_simd_shift_imm_<mode> predicate for operand 1. (<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3 to restrict them to an appropriate range and add FAIL check if the region they specify is out of range. Delete useless constraint strings. (*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands 2 and 3 to restrict their range and add pattern predicate. * g++.dg/torture/pr77822.C: New test. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr77822.C Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/aarch64/aarch64.md branches/gcc-6-branch/gcc/testsuite/ChangeLog