https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126586
Bug ID: 126586
Summary: [17 Regression] ICE/ error: non-trivial conversion in
'view_convert_expr'
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Keywords: aarch64-sve
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
/* ICE: "error: non-trivial conversion in 'view_convert_expr'" then
"internal compiler error: verify_gimple failed" during GIMPLE pass forwprop.
Failing command line:
gcc -O2 -march=armv8.2-a+sve -msve-vector-bits=256 \
-S 02-sve-dupq-forwprop-view-convert.c
Diagnostic:
error: non-trivial conversion in 'view_convert_expr'
svint64_t
vector(2) long int
_3 = VIEW_CONVERT_EXPR<vector(2) long int>(_5);
during GIMPLE pass: forwprop
Any svdupq_n_* with all arguments identical works: s8/s16/s32/s64/f32. */
#include <arm_sve.h>
svint64_t f (long x) { return svdupq_n_s64 (x, x); }
ICEs with -O2 -march=armv8.2-a+sve -msve-vector-bits=256
<source>: In function 'f':
<source>:3:1: error: non-trivial conversion in 'view_convert_expr'
3 | svint64_t f (long x) { return svdupq_n_s64 (x, x); }
| ^~~~~~~~~
svint64_t
vector(2) long int
_3 = VIEW_CONVERT_EXPR<vector(2) long int>(_5);
during GIMPLE pass: forwprop
<source>:3:1: internal compiler error: verify_gimple failed