https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112369
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Keywords|needs-reduction |ice-on-valid-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2023-11-03
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced C (and C++) code:
```
struct GdkRGBA2 {
double a[4];
};
struct GdkRGBA3 {
float a[4];
};
struct GdkRGBA3 f(struct GdkRGBA2 *color) {
struct GdkRGBA3 t1;
for(int i = 0; i < 4; i++)
t1.a[i] = color->a[i];
struct GdkRGBA3 t2;
for(int i = 0; i < 4; i++)
{
float tmp = t1.a[i];
if (__builtin_isnan(tmp))
t2.a[i] = tmp;
}
return t2;
}
```
It is related to unord folding with convert on a vector type.