https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115847
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Summary|ICE: tree check: expected |SIMD attribute on a |none of vector_type, have |function which returns a |vector_type in |vector causes an ICE |element_precision, at | |tree.cc:6808 with attribute | |simd | Status|UNCONFIRMED |NEW Component|c |middle-end Keywords| |accepts-invalid, | |ice-checking, | |ice-on-invalid-code Last reconfirmed| |2024-07-09 Known to fail| |6.1.0 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Easier to understand testcase: ``` typedef __attribute__((__vector_size__(1))) char vec1char; __attribute__((simd)) vec1char a() {} ``` Confirmed. The simd attribute causes to create: `vector(16) vector(1) char` types which is definitely NOT valid.