================ @@ -10319,8 +10319,10 @@ Sema::ActOnFunctionDeclarator(Scope *S, Declarator &D, DeclContext *DC, // Handle attributes. ProcessDeclAttributes(S, NewFD, D); const auto *NewTVA = NewFD->getAttr<TargetVersionAttr>(); - if (NewTVA && !NewTVA->isDefaultVersion() && - !Context.getTargetInfo().hasFeature("fmv")) { + if (Context.getTargetInfo().getTriple().isRISCV()) { ---------------- BeMg wrote:
My understand is the `fmv` is a aarch64 feature to control the function multi-versioning. They(target_version and fmv) are both be introduced by [this commit](https://github.com/llvm/llvm-project/commit/fe5cf480ee5ae0d14eb62f32e55a33d2ccf67dd1). The [ACLE spec](https://arm-software.github.io/acle/main/acle.html#function-multi-versioning) and [review comment](https://reviews.llvm.org/D127812) can help to understand the context. Additionally, it is treated as a generic option in the [Clang command-line options](https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-mno-fmv), and it was also introduced in the same commit. --- Do you think it's a good idea to add this similar feature to RISC-V, or should we just skip it? https://github.com/llvm/llvm-project/pull/99040 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits