This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/61749] arm_neon.h "_lane" and "_n" intrinsics can cause ICEs
- From: "ktkachov at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 09 Sep 2014 10:16:19 +0000
- Subject: [Bug target/61749] arm_neon.h "_lane" and "_n" intrinsics can cause ICEs
- Auto-submitted: auto-generated
- References: <bug-61749-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61749
--- Comment #5 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Tue Sep 9 10:15:46 2014
New Revision: 215046
URL: https://gcc.gnu.org/viewcvs?rev=215046&root=gcc&view=rev
Log:
[AArch64] PR 61749: Do not ICE in lane intrinsics when passed non-constant lane
number
PR target/61749
* config/aarch64/aarch64-builtins.c (aarch64_types_quadop_qualifiers):
Use qualifier_immediate for last operand. Rename to...
(aarch64_types_ternop_lane_qualifiers): ... This.
(TYPES_QUADOP): Rename to...
(TYPES_TERNOP_LANE): ... This.
(aarch64_simd_expand_args): Return const0_rtx when encountering user
error. Change return of 0 to return of NULL_RTX.
(aarch64_crc32_expand_builtin): Likewise.
(aarch64_expand_builtin): Return NULL_RTX instead of 0.
ICE when expanding unknown builtin.
* config/aarch64/aarch64-simd-builtins.def (sqdmlal_lane): Use
TERNOP_LANE qualifiers.
(sqdmlsl_lane): Likewise.
(sqdmlal_laneq): Likewise.
(sqdmlsl_laneq): Likewise.
(sqdmlal2_lane): Likewise.
(sqdmlsl2_lane): Likewise.
(sqdmlal2_laneq): Likewise.
(sqdmlsl2_laneq): Likewise.
* gcc.target/aarch64/vqdml_lane_intrinsics-bad_1.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/aarch64/vqdml_lane_intrinsics-bad_1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64-builtins.c
trunk/gcc/config/aarch64/aarch64-simd-builtins.def
trunk/gcc/testsuite/ChangeLog