diff --git a/mlir/lib/Dialect/StandardOps/IR/Ops.cpp b/mlir/lib/Dialect/StandardOps/IR/Ops.cpp --- a/mlir/lib/Dialect/StandardOps/IR/Ops.cpp +++ b/mlir/lib/Dialect/StandardOps/IR/Ops.cpp @@ -1315,7 +1315,7 @@ if (inputs.size() != 1 || outputs.size() != 1) return false; Type a = inputs.front(), b = outputs.front(); - if (a.isa() && b.isSignlessInteger()) + if (a.isa() && (b.isSignlessInteger() || a.isUnsignedInteger())) return true; return areVectorCastSimpleCompatible(a, b, areCastCompatible); } @@ -1992,7 +1992,7 @@ if (inputs.size() != 1 || outputs.size() != 1) return false; Type a = inputs.front(), b = outputs.front(); - if (a.isSignlessInteger() && b.isa()) + if ((a.isSignlessInteger() || a.isUnsignedInteger()) && b.isa()) return true; return areVectorCastSimpleCompatible(a, b, areCastCompatible); }