[clang] [CIR][X86] Add support for `kshiftl`/`kshiftr` builtins (PR #168591)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 18 14:04:06 PST 2025
================
@@ -546,11 +567,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 numElems = cast<cir::IntType>(ops[0].getType()).getWidth();
----------------
andykaylor wrote:
```suggestion
unsigned numElems = cast<cir::IntType>(ops[0].getType()).getWidth();
```
The cast here is intermediate, so `auto` shouldn't be used.
https://github.com/llvm/llvm-project/pull/168591
More information about the cfe-commits
mailing list