ASCII case-insensitive compare SIMD fast-path PoC added by crzcrz on Thu Sep 24 16:39:25 2026

#include <string.h>
#include <stdbool.h>

typedef char v16si __attribute__ ((vector_size (16)));

static inline bool all_zero(v16si v)
{
    unsigned __int128 x;
    memcpy(&x, &v, 16);
    return x == 0;
}

static inline v16si fold(v16si v)
{
    return v - ((v >= 'A') & (v <= 'Z')) * ('a' - 'A');
}

int compare(const char *a, const char *b)
{
    v16si av, bv;
    memcpy(&av, a, 16);
    memcpy(&bv, b, 16);

    if (!all_zero((av | bv) < 0))
        return -2;

    v16si al = fold(av), bl = fold(bv);
    return memcmp(&al, &bl, 16);
}

int main(int argc, char **argv) {
    int result = compare(argv[1], argv[2]);
    return result;
}