================
@@ -5551,6 +5634,41 @@ mlir::LogicalResult
CIRToLLVMVecCmpOpLowering::matchAndRewrite(
return mlir::success();
}
+mlir::LogicalResult CIRToLLVMVecFCmpOpLowering::matchAndRewrite(
+ cir::VecFCmpOp op, OpAdaptor adaptor,
+ mlir::ConversionPatternRewriter &rewriter) const {
+ mlir::Type elementType = op.getLhs().getType().getElementType();
+ if (!mlir::isa<cir::FPTypeInterface>(elementType))
+ return op.emitError() << "unsupported type for VecFCmpOp: " << elementType;
+
+ mlir::Value bitResult;
+ if (cir::FenvAttr fenv = op.getFenvAttr()) {
+ llvm::ElementCount size = op.getLhs().getType().getSize();
+ auto i1VecTy = mlir::VectorType::get(
+ size.getKnownMinValue(), rewriter.getI1Type(), {size.isScalable()});
+ bitResult = createConstrainedFCmpCall(
+ rewriter, op.getLoc(), adaptor.getLhs(), adaptor.getRhs(),
+ op.getKind(), op.getSignaling(), fenv, i1VecTy)
+ .getResult(0);
----------------
Fznamznon wrote:
Aye, done in 476c19cbf1324780ec881085a1d2a6ca8f9141d5
https://github.com/llvm/llvm-project/pull/235843
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits