[llvm] [X86] Add missing vNbf16 handling in X86CallingConv.td file (PR #127102)

Mikołaj Piróg via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 16 08:27:10 PST 2025


mikolaj-pirog wrote:

> > `Unlike FP16, BF16 vectors are legal only when AVX512BF16/AVXNECONVERT are ready` I don't quite follow, what do you mean? The SSE2 tests work for bfloat x n types (fminimum-fmaximum.ll).
> 
> The ISel will do type legalization first. It can save some of our later work if we don't declare type legal on SSE2.
> 
> > Regarding the testing of this change, there already is a test for it, `bfloat-calling-conv-no-sse2.ll`. The problem with testing this, is that there is no way to reliably force execution of the `fast-isel` path; it can fail and fallback.
> 
> The test only tests an illegal scenario (arguably just my personal opinion). What we should test is the meaningful combinations: SSE2, AVX512BF16+AVX512VL or AVXNECONVERT as I commented above.

Thanks for the explanation, I will create the test for this then 

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


More information about the llvm-commits mailing list