================
@@ -1474,10 +1505,23 @@ CIRGenFunction::emitX86BuiltinExpr(unsigned builtinID,
const CallExpr *expr) {
case X86::BI__builtin_ia32_selectpd_128:
case X86::BI__builtin_ia32_selectpd_256:
case X86::BI__builtin_ia32_selectpd_512:
+ return emitX86Select(builder, getLoc(expr->getExprLoc()), ops[0], ops[1],
+ ops[2]);
case X86::BI__builtin_ia32_selectsh_128:
case X86::BI__builtin_ia32_selectsbf_128:
case X86::BI__builtin_ia32_selectss_128:
- case X86::BI__builtin_ia32_selectsd_128:
+ case X86::BI__builtin_ia32_selectsd_128: {
+ mlir::Location loc = getLoc(expr->getExprLoc());
+ auto cirI64Ty =
+ cir::IntType::get(builder.getContext(), 64, /*isSigned=*/true);
+ mlir::Value idx0 = cir::ConstantOp::create(
----------------
badumbatish wrote:
can this be unsigned? the OG impl uses (uint64_t)0
https://github.com/llvm/llvm-project/pull/174003
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits