diff options
author | Chaitanya Koparkar <ckoparkar@gmail.com> | 2025-08-12 07:57:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-12 20:57:55 +0900 |
commit | c3bf73bc4ade26b8b9dd5080ce7bccd88037cfd0 (patch) | |
tree | f591cf936f3cf12b0247493bb6d2dad7a63b0fc2 /clang/lib/Sema/SemaChecking.cpp | |
parent | 1840106ddfb67f5fa1939f48e123fdd529eada50 (diff) | |
download | llvm-c3bf73bc4ade26b8b9dd5080ce7bccd88037cfd0.zip llvm-c3bf73bc4ade26b8b9dd5080ce7bccd88037cfd0.tar.gz llvm-c3bf73bc4ade26b8b9dd5080ce7bccd88037cfd0.tar.bz2 |
[clang] Add elementwise fshl/fshr builtins (#153113)
This patch implements `__builtin_elementwise_fshl` and
`__builtin_elementwise_fshr` builtins.
These map to the fshl/fshr intrinsics described here:
- https://llvm.org/docs/LangRef.html#llvm-fshl-intrinsic
- https://llvm.org/docs/LangRef.html#llvm-fshr-intrinsic
Fixes https://github.com/llvm/llvm-project/issues/152555.
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 9ecee18..90774037 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -3031,6 +3031,12 @@ Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID, EltwiseBuiltinArgTyRestriction::IntegerTy)) return ExprError(); break; + case Builtin::BI__builtin_elementwise_fshl: + case Builtin::BI__builtin_elementwise_fshr: + if (BuiltinElementwiseTernaryMath( + TheCall, EltwiseBuiltinArgTyRestriction::IntegerTy)) + return ExprError(); + break; case Builtin::BI__builtin_elementwise_min: case Builtin::BI__builtin_elementwise_max: if (BuiltinElementwiseMath(TheCall)) |