[clang] [CIR][AArch64] Support BF16/FP16 NEON types and lower vdup lane builtins (PR #187460)

Andrzej Warzyński via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 25 03:18:23 PDT 2026


banach-space wrote:

> [CI Checks / Build and Test Linux (pull_request)](https://github.com/llvm/llvm-project/actions/runs/23472175368/job/68297123457?pr=187460) That's a known existing problem and It doesn't be caused by this PR

Thank you for confirming, thats very helpful! (I was meant to send this yesterday)

> However, through the ClangIR path, this is temporarily lowered to `i16` and then cast back to `bfloat`. Because of that, I kept these checks generalized to cover both forms.
> 
> If this is not the right way to test it, please let me know and I’ll be happy to adjust it.

Thanks for flagging this up! Could you update the definition of `allowBFloatArgsAndRet` as follows and check again:
```cpp
// TODO (CIR): This should be extracted from ABInfo instead. 
const bool allowBFloatArgsAndRet = cgf.getTarget().hasFastHalfType();
```
Does it help? 

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


More information about the cfe-commits mailing list