[clang] [Clang][AArch64] Allow FP8 Neon vector types to be used by __builtin_shufflevector (PR #119031)

Momchil Velikov via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 20 02:53:33 PST 2025


momchil-velikov wrote:

I've implemented all the relevant Neon FP8 intrinsics on top of two alternative implementations for Neon FP8 vector types:
* builtin vector types: https://github.com/llvm/llvm-project/pull/121804 (top of PR stack, this PR right here is a part of it)
* using `neon_vector_type` attribute: https://github.com/llvm/llvm-project/pull/120476 (a single PR, multiple commits, will spin off individual PRs)

Comparing the two solutions, I would conclude that the approach using `neon_vector_type` fits better with and can take  advantage of the existing Clang types framework, thus requiring less amount of special handling of the new types.

One drawback is that the AAPCS64 required types `__Mfloat8x8_t` and `__Mfloat8x16_t` would not be recognised,
just like all the others: https://github.com/llvm/llvm-project/issues/113297




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


More information about the cfe-commits mailing list