[clang] [compiler-rt] [AArch64] Implement __builtin_cpu_supports, compiler-rt tests. (PR #82378)

Jon Roelofs via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 20 09:28:41 PST 2024


================
@@ -14025,6 +14028,19 @@ Value *CodeGenFunction::EmitX86CpuInit() {
   return Builder.CreateCall(Func);
 }
 
+Value *CodeGenFunction::EmitAArch64CpuSupports(const CallExpr *E) {
+  const Expr *ArgExpr = E->getArg(0)->IgnoreParenCasts();
+  StringRef ArgStr = cast<StringLiteral>(ArgExpr)->getString();
----------------
jroelofs wrote:

Does prior machinery in sema for the builtin forbid e.g:

```
const char *feats = "rng+flagm";
__builtin_cpu_supports(feats);
```

If not, this cast may fail.

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


More information about the cfe-commits mailing list