https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114073
Bug ID: 114073 Summary: during GIMPLE pass: bitintlower: internal compiler error: in lower_stmt, at gimple-lower-bitint.cc:5530 Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org CC: crazylht at gmail dot com, hjl.tools at gmail dot com, jakub at gcc dot gnu.org, janschultke at googlemail dot com, pinskia at gcc dot gnu.org, rguenth at gcc dot gnu.org, rsandifo at gcc dot gnu.org, unassigned at gcc dot gnu.org Depends on: 113988 Target Milestone: --- VIEW_CONVERT_EXPRs between BITINT_TYPE and same sized gimple reg types like VECTOR_TYPE or COMPLEX_TYPE currently ICEs. Testcase showing this (-O2 -mavx512f): _Complex __int128 f1 (_BitInt(256) x) { union U { _BitInt(256) x; _Complex __int128 y; } u; u.x = x; return u.y; } _Complex __int128 f2 (_BitInt(254) x) { union U { _BitInt(254) x; _Complex __int128 y; } u; u.x = x; return u.y; } typedef int V __attribute__((vector_size (sizeof (_BitInt(256))))); V f3 (_BitInt(256) x) { union U { _BitInt(256) x; V y; } u; u.x = x; return u.y; } V f4 (_BitInt(254) x) { union U { _BitInt(254) x; V y; } u; u.x = x; return u.y; } typedef int W __attribute__((vector_size (sizeof (_BitInt(512))))); W f5 (_BitInt(512) x) { union U { _BitInt(512) x; W y; } u; u.x = x; return u.y; } W f6 (_BitInt(509) x) { union U { _BitInt(509) x; W y; } u; u.x = x; return u.y; } _BitInt(256) f7 (_Complex __int128 x) { union U { _BitInt(256) x; _Complex __int128 y; } u; u.y = x; return u.x; } _BitInt(252) f8 (_Complex __int128 x) { union U { _BitInt(252) x; _Complex __int128 y; } u; u.y = x; return u.x; } _BitInt(256) f9 (V x) { union U { _BitInt(256) x; V y; } u; u.y = x; return u.x; } _BitInt(252) f10 (V x) { union U { _BitInt(252) x; V y; } u; u.y = x; return u.x; } _BitInt(512) f11 (W x) { union U { _BitInt(512) x; W y; } u; u.y = x; return u.x; } _BitInt(506) f12 (W x) { union U { _BitInt(506) x; W y; } u; u.y = x; return u.x; } Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113988 [Bug 113988] during GIMPLE pass: bitintlower: internal compiler error: in lower_stmt, at gimple-lower-bitint.cc:5470