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