[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

Tomas Matheson via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 5 08:18:13 PDT 2024


================
@@ -48,5 +48,5 @@ int test_versions() {
     return code();
 }
 // CHECK: attributes #0 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
-// CHECK: attributes #1 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+neon" }
-// CHECK: attributes #2 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+fullfp16,+neon,+sve" }
----------------
tmatheson-arm wrote:

I think this is ok. `-march=armv8-a+nosimd+sve` gives `-target-feature -neon`, i.e. `+sve` does not imply `+simd`. The reason we don't see `+neon` here is because the test uses a `-cc1` command line and does not specify `-target-feature +neon`, as the driver would for the same triple. So the test is maybe not actually representative of what would be done if going through the driver, but the changes here look correct given that nothing asks for `+neon`.

`+simd` now implies `+fp-armv8` because `def FeatureNEON` says it does.

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


More information about the cfe-commits mailing list