https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77822
--- Comment #18 from ktkachov at gcc dot gnu.org --- Author: ktkachov Date: Mon Nov 7 11:43:57 2016 New Revision: 241898 URL: https://gcc.gnu.org/viewcvs?rev=241898&root=gcc&view=rev Log: [AArch64] Fix PR target/77822: Use tighter predicates for zero_extract patterns 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: trunk/gcc/testsuite/g++.dg/torture/pr77822.C Modified: trunk/gcc/ChangeLog trunk/gcc/config/aarch64/aarch64.md trunk/gcc/testsuite/ChangeLog