https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99808
Bug ID: 99808 Summary: [8/9/10/11 Regression] ICE in as_a, at machmode.h:365 Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: aarch64-linux-gnu gcc-11.0.1-alpha20210328 snapshot (g:499fa254ae8c9752d8c2cf3130b13ffddfd83546) ICEs when compiling the following testcase, reduced from gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vcvt_high_1.c, w/ -Og -fweb -fno-forward-propagate -g: typedef __Float32x2_t float32x2_t; typedef __Float32x4_t float32x4_t; typedef __Float64x1_t float64x1_t; typedef __Float64x2_t float64x2_t; float32x4_t foo (void) { float64x2_t arg2 = __builtin_aarch64_combinedf (0, ((float64x1_t) 1UL) [0]); return __builtin_aarch64_float_truncate_hi_v4sf ((float32x2_t) 1UL, arg2); } % aarch64-linux-gnu-gcc-11.0.1 -Og -fweb -fno-forward-propagate -g -c bhwx2dh3.c during RTL pass: final bhwx2dh3.c: In function 'foo': bhwx2dh3.c:12:1: internal compiler error: in as_a, at machmode.h:365 12 | } | ^ 0x6c306f scalar_int_mode as_a<scalar_int_mode>(machine_mode) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/machmode.h:365 0x6c467f scalar_float_mode as_a<scalar_float_mode>(machine_mode) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/tree.h:3467 0x6c467f insert_float /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:19697 0xacb35e add_const_value_attribute /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:19805 0xaef2e8 add_location_or_const_value_attribute /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:20367 0xaf0b52 gen_variable_die /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:24104 0xad3272 gen_decl_die /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:26516 0xaf497f decls_for_scope /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:25991 0xacf194 gen_subprogram_die /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:23522 0xad3360 gen_decl_die /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:26428 0xad4a22 dwarf2out_decl /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:27006 0xad539e dwarf2out_function_decl /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/dwarf2out.c:27021 0xb5ce43 rest_of_handle_final /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/final.c:4712 0xb5ce43 execute /var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210328/work/gcc-11-20210328/gcc/final.c:4754