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

Tomas Matheson via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 4 10:02:26 PDT 2024


================
@@ -69,8 +69,8 @@ void undefined(uint32x2_t v2i32, uint32x4_t v4i32, uint16x8_t v8i16, uint8x16_t
   vrnd_f16(v4f16); // expected-error {{always_inline function 'vrnd_f16' requires target feature 'fullfp16'}}
   vmaxnm_f16(v4f16, v4f16); // expected-error {{always_inline function 'vmaxnm_f16' requires target feature 'fullfp16'}}
   vrndi_f16(v4f16); // expected-error {{always_inline function 'vrndi_f16' requires target feature 'fullfp16'}}
-  // fp16fml
-  vfmlal_low_f16(v2f32, v4f16, v4f16); // expected-error {{always_inline function 'vfmlal_low_f16' requires target feature 'fp16fml'}}
+  // fp16fml depends on fp-armv8
+  vfmlal_low_f16(v2f32, v4f16, v4f16); // expected-error {{always_inline function 'vfmlal_low_f16' requires target feature 'fp-armv8'}}
----------------
tmatheson-arm wrote:

Because dependencies are expanded for `target` attribute, the list of requirements for `vfmlal_low_f16` has been expanded to fp16fml+fp, and fp happens to get hit first. This is a symptom of target attribute being inconsistently expanded or not. If the user hits this error and adds +fp, they will get a new error saying that +fp16fml is missing too.

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


More information about the cfe-commits mailing list