================
@@ -294,6 +294,34 @@ Value *CodeGenFunction::EmitPPCBuiltinExpr(unsigned 
BuiltinID,
     return Builder.CreateCall(F, Ops, "");
   }
 
+  // BCD convert builtins for P9
+  case PPC::BI__builtin_ppc_national2packed:
+  case PPC::BI__builtin_ppc_packed2zoned:
+  case PPC::BI__builtin_ppc_zoned2packed: {
+    SmallVector<Value *, 3> Ops;
+    // Zero extending unsigned char to 32 bits by using Int32ty
+    llvm::Type *Int32Ty = llvm::IntegerType::get(getLLVMContext(), 32);
+    Ops.push_back(EmitScalarExpr(E->getArg(0)));
+    Ops.push_back(EmitScalarExpr(E->getArg(1)));
+    Ops.push_back(Builder.CreateZExtOrTrunc(EmitScalarExpr(E->getArg(2)),
----------------
lei137 wrote:

Why not just use `CreateZExt()`?

https://github.com/llvm/llvm-project/pull/142723
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to