https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100369
Bug ID: 100369 Summary: crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- For the source code file gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c, gcc trunk says: /home/pi/gcc/results.20210429/lib/gcc/arm-linux-gnueabihf/12.0.0/include/arm_neon.h:6313:10: error: lane -1 out of range 0 - 1 6313 | return (int64_t)__builtin_neon_vget_lanev2di (__a, __b); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ during RTL pass: expand /home/pi/gcc/results.20210429/lib/gcc/arm-linux-gnueabihf/12.0.0/include/arm_neon.h: In function 'test_vgetq_lane_s64_before': /home/pi/gcc/results.20210429/lib/gcc/arm-linux-gnueabihf/12.0.0/include/arm_neon.h:6313:10: internal compiler error: in gen_neon_vget_lanev2di, at config/arm/neon.md:3372 0x1309813 gen_neon_vget_lanev2di(rtx_def*, rtx_def*, rtx_def*) ../../trunk/gcc/config/arm/neon.md:3372 The first error is good, but the internal compiler error isn't. There might be a better way to handle a lane number out of range than crashing.