This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/61749] arm_neon.h "_lane" and "_n" intrinsics can cause ICEs


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]