[clang] [llvm] [AArch64TargetParser]Fix reconstructFromParsedFeatures ignoring negative features (PR #142236)
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 6 10:33:23 PDT 2025
MatzeB wrote:
The original situation looks something like:
```
#include <arm_neon.h>
void foo() {
// ...
uint8x16_t x = {};
vreinterpretq_u8_s8(x);
}
```
Compiled with `clang -target aarch64-redhat-linux-gnu -march=-march=armv9-a+sve2+fp16+fp16fml+crypto+bf16+sm4+i8mm+sve2-bitperm+sve2-sha3+sve2-aes+sve2-sm4 -Xclang -target-feature -Xclang -sve -c test.c` (coming from a build system where `-target, -march` flags are set centrally but this particular target/team not being able to handle SVE but can only append flags to the build)...
This compiled fine in clang-17, but with the clang-19 the frontend produces this very unintuitive message (because this is a neon intrinsic, not an SVE one) when checking the always_inline condition:
```
test.cpp:5:3: error: always_inline function 'vreinterpretq_u8_s8' requires target feature 'sve', but would be inlined into function 'foo' that is compiled without support for 'sve'
5 | vreinterpretq_u8_s8(x);
```
https://github.com/llvm/llvm-project/pull/142236
More information about the llvm-commits
mailing list