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

Reply via email to