[clang] [AArch64][Clang] Fix linker error for function multiversioning (PR #74358)

Jon Roelofs via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 22 09:17:27 PST 2024


================
@@ -1752,8 +1754,10 @@ static void AppendTargetClonesMangling(const CodeGenModule &CGM,
   const TargetInfo &TI = CGM.getTarget();
   if (TI.getTriple().isAArch64()) {
----------------
jroelofs wrote:

@DanielKristofKiss slightly off topic: it's too bad `default` is implied, as it makes `target_clones` incompatible with `target_version` for constructs like this:

```
__attribute__((target_clones("dotprod", "aes"))) 
int callee(void) {
    return 42;
}

__attribute__((target_version("default"))) 
int callee(void) {
    return 0;
}

int caller(void) {
    return callee();
}
```

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


More information about the cfe-commits mailing list