Skip to content

Commit f2e1ec8

Browse files
committed
fixup! [mlir][vector] Add more tests for ConvertVectorToLLVM (1/n)
Refine BroadcastOp::verify. Specifically, relax it to allow: ```mlir %0 = vector.broadcast %arg0 : vector<1xf32> to vector<[4]xf32> ```
1 parent 18b4cf4 commit f2e1ec8

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

mlir/lib/Dialect/Vector/IR/VectorOps.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2405,7 +2405,10 @@ BroadcastableToResult mlir::vector::isBroadcastableTo(
24052405
bool srcDimScalableFlag = srcVectorType.getScalableDims()[dimIdx];
24062406
bool dstDimScalableFlag = dstVectorType.getScalableDims()[lead + dimIdx];
24072407
if ((srcDim == 1 && srcDimScalableFlag && dstDim != 1) ||
2408-
(srcDimScalableFlag != dstDimScalableFlag))
2408+
// 1 -> [N] is fine, everything else should be rejected when mixing
2409+
// fixed-width and scalable dims
2410+
(srcDimScalableFlag != dstDimScalableFlag &&
2411+
(srcDim != 1 || srcDimScalableFlag)))
24092412
foundMismatchingDims = true;
24102413

24112414
if (foundMismatchingDims) {

0 commit comments

Comments
 (0)