https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108950

            Bug ID: 108950
           Summary: [11/12/13 Regression] ICE: verify_gimple failed
                    (error: conversion of register to a different size in
                    'view_convert_expr'; error: type mismatch in
                    'widen_sum_expr')
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: aarch64-linux-gnu

gcc 13.0.1 20230226 snapshot (g:e6d39f68d03c46637ca6e1bede3d28eae6278df3) ICEs
when compiling the following testcase w/ -O1:

int m;
short int n;

__attribute__ ((simd)) int
foo (void)
{
  m += n;
  m += n;
}

% aarch64-linux-gnu-gcc-13 -O1 -c t0pgrthf.c
t0pgrthf.c: In function 'foo.simdclone.0':
t0pgrthf.c:5:1: error: conversion of register to a different size in
'view_convert_expr'
    5 | foo (void)
      | ^~~
VIEW_CONVERT_EXPR<int>(n.0_1);

_21 = VIEW_CONVERT_EXPR<int>(n.0_1);
t0pgrthf.c:5:1: error: type mismatch in 'widen_sum_expr'
vector(4) int
vector(4) int
vector(4) int
vect_patt_19.21_28 = _25 w+ vect_m_lsm.20_27;
during GIMPLE pass: vect
t0pgrthf.c:5:1: internal compiler error: verify_gimple failed
0xf7c152 verify_gimple_in_cfg(function*, bool, bool)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-cfg.cc:5648
0xe39450 execute_function_todo
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/passes.cc:2091
0xe3993e execute_todo
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/passes.cc:2145

Reply via email to