https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103544
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Testcase: #include <array> #include <immintrin.h> int crash_me(char* ptr, size_t size){ std::array<short, 16> result = {0}; size_t no_iters = 0; for(size_t i = 0; i < size - 12; i+= 13){ for(size_t j = 0; j < 12; j++){ result[j] += ptr[i + j] - '0'; } no_iters++; } int result_int = 0; for(int j = 0; j < 12; j++){ int bit_value = result[j] > no_iters/2 ? 1 : 0; result_int |= bit_value; } return result_int; }