https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114409
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Perhaps better testcase: template <typename T> T foo (T) { static T t; return 42 - ++t; } template <typename T> void bar (T x) { #pragma GCC novector while (T y = foo (x)) ; } void baz () { bar (0); }