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