[clang] [CIR][X86] Add support for `kshiftl`/`kshiftr` builtins (PR #168591)

Ahmed Nour via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 18 11:53:40 PST 2025


================
@@ -546,11 +568,51 @@ mlir::Value CIRGenFunction::emitX86BuiltinExpr(unsigned builtinID,
   case X86::BI__builtin_ia32_kshiftliqi:
   case X86::BI__builtin_ia32_kshiftlihi:
   case X86::BI__builtin_ia32_kshiftlisi:
-  case X86::BI__builtin_ia32_kshiftlidi:
+  case X86::BI__builtin_ia32_kshiftlidi: {
+    unsigned shiftVal =
+        ops[1].getDefiningOp<cir::ConstantOp>().getIntValue().getZExtValue() &
+        0xff;
+    auto numElts = cast<cir::IntType>(ops[0].getType()).getWidth();
----------------
ahmednoursphinx wrote:

```suggestion
    auto NumElems = cast<cir::IntType>(ops[0].getType()).getWidth();
```

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


More information about the cfe-commits mailing list