[Bug target/77822] [6/7 Regression] arm64 Error: immediate value out of range 0 to 63 at operand 3
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Nov 7 11:44:00 GMT 2016
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
More information about the Gcc-bugs
mailing list