================
@@ -1427,12 +1427,12 @@ OpFoldResult cir::SelectOp::fold(FoldAdaptor adaptor) {
//===----------------------------------------------------------------------===//
LogicalResult cir::ShiftOp::verify() {
mlir::Operation *op = getOperation();
- mlir::Type resType = getResult().getType();
const bool isOp0Vec =
mlir::isa<cir::VectorType>(op->getOperand(0).getType());
const bool isOp1Vec =
mlir::isa<cir::VectorType>(op->getOperand(1).getType());
if (isOp0Vec != isOp1Vec)
return emitOpError() << "input types cannot be one vector and one scalar";
- if (isOp1Vec && op->getOperand(1).getType() != resType) {
+
+ if (isOp1Vec && !mlir::isa<cir::VectorType>(getResult().getType())) {
return emitOpError() << "shift amount must have the type of the result "
<< "if it is vector shift";
----------------
xlauko wrote:
The message still states that result type needs to match amount type, which is
not now true.
https://github.com/llvm/llvm-project/pull/141111
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits