@@ -1313,26 +1313,26 @@ static Value rewriteI2ToI8Ext(PatternRewriter &rewriter, Location loc,
1313
1313
Value i8Vector = bitcastSubByteVectorToI8 (rewriter, loc, srcValue);
1314
1314
1315
1315
// 2. Extract each i2 element
1316
- // Element 0 (bits 0-1)
1317
- Value elem0 = extFn (rewriter, loc, i8Vector, 0 , 2 );
1318
- // Element 1 (bits 2-3)
1319
- Value elem1 = extFn (rewriter, loc, i8Vector, 2 , 2 );
1320
- // Element 2 (bits 4-5)
1321
- Value elem2 = extFn (rewriter, loc, i8Vector, 4 , 2 );
1322
- // Element 3 (bits 6-7)
1323
- Value elem3 = extFn (rewriter, loc, i8Vector, 6 , 2 );
1316
+ // Positon 0 (bits 0-1)
1317
+ Value vec0 = extFn (rewriter, loc, i8Vector, 0 , 2 );
1318
+ // Position 1 (bits 2-3)
1319
+ Value vec1 = extFn (rewriter, loc, i8Vector, 2 , 2 );
1320
+ // Position 2 (bits 4-5)
1321
+ Value vec2 = extFn (rewriter, loc, i8Vector, 4 , 2 );
1322
+ // Position 3 (bits 6-7)
1323
+ Value vec3 = extFn (rewriter, loc, i8Vector, 6 , 2 );
1324
1324
1325
1325
// 3. Interleave all 4 elements by first interleaving
1326
1326
// even elements and then odd
1327
- // elem0 = [0,0,0,0]
1328
- // elem1 = [1,1,1,1]
1329
- // elem2 = [2,2,2,2]
1330
- // elem3 = [3,3,3,3]
1331
- // 02 = [0,2,0,2]
1332
- // 13 = [1,3,1,3]
1333
- // 0213 = [0,1,2,3]
1334
- Value interleave02 = rewriter.create <vector::InterleaveOp>(loc, elem0, elem2 );
1335
- Value interleave13 = rewriter.create <vector::InterleaveOp>(loc, elem1, elem3 );
1327
+ // vec0 = [0,0,0,0],...
1328
+ // vec1 = [1,1,1,1],...
1329
+ // vec2 = [2,2,2,2],...
1330
+ // vec3 = [3,3,3,3],...
1331
+ // 02 = [0,2,0,2,...],...
1332
+ // 13 = [1,3,1,3,...],...
1333
+ // 0213 = [0,1,2,3,...],...
1334
+ Value interleave02 = rewriter.create <vector::InterleaveOp>(loc, vec0, vec2 );
1335
+ Value interleave13 = rewriter.create <vector::InterleaveOp>(loc, vec1, vec3 );
1336
1336
return rewriter.create <vector::InterleaveOp>(loc, interleave02, interleave13);
1337
1337
}
1338
1338
0 commit comments