https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112818
Bug ID: 112818
Summary: [14 regression] ICE when building accel-ppp (error:
conversion of register to a different size in
‘view_convert_expr’, verify_gimple failed)
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: sjames at gcc dot gnu.org
Target Milestone: ---
Created attachment 56762
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56762&action=edit
pppoe.c.i
Initially reported downstream in Gentoo by Toralf Förster at
https://bugs.gentoo.org/918991.
```
[...]
/var/tmp/portage/net-dialup/accel-ppp-1.12.0_p20230609/work/accel-pppd/ctrl/pppoe/pppoe.c:
In function ‘add_tag.constprop.isra’:
/var/tmp/portage/net-dialup/accel-ppp-1.12.0_p20230609/work/accel-pppd/ctrl/pppoe/pppoe.c:736:12:
error: conversion of register to a different size in ‘view_convert_expr’
736 | static int add_tag(uint8_t *pack, size_t pack_size, int type, const
void *data, int len)
| ^~~~~~~
VIEW_CONVERT_EXPR<vector(2) short unsigned int>(_10);
_48 = VIEW_CONVERT_EXPR<vector(2) short unsigned int>(_10);
during GIMPLE pass: slp
/var/tmp/portage/net-dialup/accel-ppp-1.12.0_p20230609/work/accel-pppd/ctrl/pppoe/pppoe.c:736:12:
internal compiler error: verify_gimple failed
0x55e876bf0bf1 verify_gimple_in_cfg(function*, bool, bool)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree-cfg.cc:5662
0x55e87813950c execute_function_todo
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/passes.cc:2088
0x55e87813950c do_per_function
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/passes.cc:1687
0x55e87813950c execute_todo
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/passes.cc:2142
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://bugs.gentoo.org/> for instructions.
```
I can reproduce with 'gcc -c pppoe.c.i -O2 -march=znver2'.