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;
}

Reply via email to