https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100369
Alex Coplan <acoplan at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |12.0 CC| |acoplan at gcc dot gnu.org Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Keywords| |error-recovery Last reconfirmed| |2021-05-18 --- Comment #3 from Alex Coplan <acoplan at gcc dot gnu.org> --- Confirmed. Here is a reduced testcase: $ cat neon.c #include <arm_neon.h> int64x2_t v; void f() { vgetq_lane_s64(v, 2); } $ ./arm-eabi-gcc -c neon.c -march=armv8-a+simd In file included from neon.c:1: In function 'vgetq_lane_s64', inlined from 'f' at neon.c:3:12: /home/alecop01/toolchain/build-arm-eabi-armv8.1-m.main+mve.fp+fp.dp/install/lib/gcc/arm-eabi/12.0.0/include/arm_neon.h:6313:10: error: lane 2 out of range 0 - 1 6313 | return (int64_t)__builtin_neon_vget_lanev2di (__a, __b); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ during RTL pass: expand /home/alecop01/toolchain/build-arm-eabi-armv8.1-m.main+mve.fp+fp.dp/install/lib/gcc/arm-eabi/12.0.0/include/arm_neon.h: In function 'f': /home/alecop01/toolchain/build-arm-eabi-armv8.1-m.main+mve.fp+fp.dp/install/lib/gcc/arm-eabi/12.0.0/include/arm_neon.h:6313:10: internal compiler error: in gen_neon_vget_lanev2di, at config/arm/neon.md:3288 0x15f54df gen_neon_vget_lanev2di(rtx_def*, rtx_def*, rtx_def*) /home/alecop01/toolchain/src/gcc/gcc/config/arm/neon.md:3288 0x120c3e0 rtx_insn* insn_gen_fn::operator()<rtx_def*, rtx_def*, rtx_def*>(rtx_def*, rtx_def*, rtx_def*) const /home/alecop01/toolchain/src/gcc/gcc/recog.h:407 0x120c3e0 arm_expand_builtin_args /home/alecop01/toolchain/src/gcc/gcc/config/arm/arm-builtins.c:3160 0x120c3e0 arm_expand_builtin_1 /home/alecop01/toolchain/src/gcc/gcc/config/arm/arm-builtins.c:3309 0x120d082 arm_expand_neon_builtin /home/alecop01/toolchain/src/gcc/gcc/config/arm/arm-builtins.c:3389 0x120d082 arm_expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) /home/alecop01/toolchain/src/gcc/gcc/config/arm/arm-builtins.c:3469 0x7ca04f expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) /home/alecop01/toolchain/src/gcc/gcc/builtins.c:9753 0x94984d expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/alecop01/toolchain/src/gcc/gcc/expr.c:11405 0x94ad22 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/alecop01/toolchain/src/gcc/gcc/expr.c:8621 0x9538c7 store_expr(tree_node*, rtx_def*, int, bool, bool) /home/alecop01/toolchain/src/gcc/gcc/expr.c:5986 0x95554a expand_assignment(tree_node*, tree_node*, bool) /home/alecop01/toolchain/src/gcc/gcc/expr.c:5721 0x80123b expand_call_stmt /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:2841 0x80123b expand_gimple_stmt_1 /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:3847 0x80123b expand_gimple_stmt /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:4011 0x80a339 expand_gimple_basic_block /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:6053 0x80b546 execute /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:6737 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. Here is a preprocessed testcase for testing with a cc1 (but not for the testsuite): typedef __simd128_int64_t int64x2_t; int64x2_t v; void f() { __builtin_neon_vget_lanev2di(v, 2); }