diff --git a/c/blake3_neon.c b/c/blake3_neon.c index 46691f5..a6f6da9 100644 --- a/c/blake3_neon.c +++ b/c/blake3_neon.c @@ -2,7 +2,12 @@ #include -// TODO: This is probably incorrect for big-endian ARM. How should that work? +#ifdef __ARM_BIG_ENDIAN +#error "This implementation only supports little-endian ARM." +// It might be that all we need for big-endian support here is to get the loads +// and stores right, but step zero would be finding a way to test it in CI. +#endif + INLINE uint32x4_t loadu_128(const uint8_t src[16]) { // vld1q_u32 has alignment requirements. Don't use it. uint32x4_t x;