[clang] [libc] [libcxx] [clang][X86] Emit AVX level mismatch psABI warnings on function definitions (PR #199091)

Joseph Huber via cfe-commits cfe-commits at lists.llvm.org
Fri May 22 10:10:26 PDT 2026


jhuber6 wrote:

> We could possibly carve out an exception for `static inline` functions... but I don't think that covers the cases that are failing. And it's not what gcc does.

The fact that this required suppressing warnings globally in libc and libc++, which both have very intentional usage of these vectors, is very a big red flag to me. This seems to just turn on a "You used a wide vector!" warning on for everyone, which isn't very helpful in my opinion.

For `libmvec` we intentionally upscale from a `f32x8` to a `f64x8` which will now always fire a warning if I understand correctly. The original intent of these warnings from what I understood was mixing ABIs accross TU boundaries, which is why we force all of these to be static.

I don't have the full context here, but clang vectors are much more powerful than GCC vectors so I don't think we necessarily need to be beholden to them.

https://github.com/llvm/llvm-project/pull/199091


More information about the cfe-commits mailing list