[clang] [clang][clangIR]: X86 vperm2f128 builtin implementation (PR #208851)

Lucas Ribeiro Lima via cfe-commits cfe-commits at lists.llvm.org
Sat Jul 18 16:17:18 PDT 2026


================
@@ -811,6 +811,48 @@ static mlir::Value emitX86MaskedLoad(CIRGenBuilderTy &builder,
   return builder.createMaskedLoad(loc, ty, ptr, alignment, maskVec, ops[1]);
 }
 
+static mlir::Value emitX86VPerm2f128(CIRGenBuilderTy &builder,
+                                     mlir::Location loc,
+                                     llvm::SmallVector<mlir::Value> ops) {
+  auto inputType = cast<cir::VectorType>(ops[0].getType());
+  assert(!inputType.getIsScalable() &&
+         "This is only intended for fixed-width vectors");
+
+  const uint8_t imm = CIRGenFunction::getZExtIntValueFromConstOp(ops[2]) & 0xFF;
----------------
lucaslive974 wrote:

LGTM

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


More information about the cfe-commits mailing list