================ @@ -1579,6 +1579,109 @@ OpFoldResult cir::VecExtractOp::fold(FoldAdaptor adaptor) { return elements[index]; } +//===----------------------------------------------------------------------===// +// VecCmpOp +//===----------------------------------------------------------------------===// + +OpFoldResult cir::VecCmpOp::fold(FoldAdaptor adaptor) { + mlir::Attribute lhs = adaptor.getLhs(); + mlir::Attribute rhs = adaptor.getRhs(); + if (!mlir::isa_and_nonnull<cir::ConstVectorAttr>(lhs) || + !mlir::isa_and_nonnull<cir::ConstVectorAttr>(rhs)) + return {}; + + auto lhsVecAttr = mlir::cast<cir::ConstVectorAttr>(lhs); + auto rhsVecAttr = mlir::cast<cir::ConstVectorAttr>(rhs); + + auto inputElemTy = + mlir::cast<cir::VectorType>(lhsVecAttr.getType()).getElementType(); + if (!mlir::isa<cir::IntType>(inputElemTy) && + !mlir::isa<cir::CIRFPTypeInterface>(inputElemTy)) ---------------- andykaylor wrote:
```suggestion if (!isAnyIntegerOrFloatingPointType(inputElemTy)) ``` https://github.com/llvm/llvm-project/pull/143322 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits