Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions lib/Dialect/AIEVec/Transforms/VectorToVectorConversions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -412,8 +412,8 @@ struct FlattenMultDimTransferReadPattern

auto inBoundsArrayAttrOpt = adaptor.getInBounds();
if (inBoundsArrayAttrOpt) {
SmallVector<bool> inBounds = llvm::to_vector(
inBoundsArrayAttrOpt.value().getAsValueRange<BoolAttr>());
SmallVector<bool> inBounds =
llvm::to_vector(inBoundsArrayAttrOpt.getAsValueRange<BoolAttr>());
SmallVector<bool> newInBounds({false});
newInBounds[0] = std::all_of(inBounds.begin(), inBounds.end(),
[](bool v) { return v; });
Expand Down Expand Up @@ -472,8 +472,8 @@ struct FlattenMultDimTransferWritePattern

auto inBoundsArrayAttrOpt = adaptor.getInBounds();
if (inBoundsArrayAttrOpt) {
SmallVector<bool> inBounds = llvm::to_vector(
inBoundsArrayAttrOpt.value().getAsValueRange<BoolAttr>());
SmallVector<bool> inBounds =
llvm::to_vector(inBoundsArrayAttrOpt.getAsValueRange<BoolAttr>());
SmallVector<bool> newInBounds({false});
newInBounds[0] = std::all_of(inBounds.begin(), inBounds.end(),
[](bool v) { return v; });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {index = 0 : i8, offset = 0 : i32}
// CHECK-SAME: : memref<?x64xi16>, vector<16xi16>
// CHECK: %[[VC:.*]] = aievec.ups %[[ACCk]] {shift = 0 : i8} : vector<16xi16>, vector<16xi48>
%2 = vector.transfer_read %arg0[%arg3, %arg5], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%2 = vector.transfer_read %arg0[%arg3, %arg5], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%3 = vector.transfer_read %arg1[%arg5, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%4 = arith.muli %2, %3 : vector<16xi16>
%5 = arith.addi %arg6, %4 : vector<16xi16>
Expand All @@ -72,7 +72,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: xstart = "0", zoffsets = "0", zoffsets_hi = "0", zstart = "0", zstep = "1"}
// CHECK-SAME: : vector<32xi16>, vector<16xi16>, vector<16xi48>
%6 = affine.apply #map1(%arg5)
%7 = vector.transfer_read %arg0[%arg3, %6], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%7 = vector.transfer_read %arg0[%arg3, %6], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%8 = vector.transfer_read %arg1[%6, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%9 = arith.muli %7, %8 : vector<16xi16>
%10 = arith.addi %5, %9 : vector<16xi16>
Expand All @@ -81,7 +81,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {index = 0 : i8, offset = 0 : i32}
// CHECK-SAME: : memref<?x64xi16>, vector<16xi16>
%11 = affine.apply #map2(%arg5)
%12 = vector.transfer_read %arg0[%arg3, %11], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%12 = vector.transfer_read %arg0[%arg3, %11], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%13 = vector.transfer_read %arg1[%11, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%14 = arith.muli %12, %13 : vector<16xi16>
%15 = arith.addi %10, %14 : vector<16xi16>
Expand All @@ -94,7 +94,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {xoffsets = "0x73727170", xoffsets_hi = "0x77767574", xsquare = "0x3120",
// CHECK-SAME: xstart = "0", zoffsets = "0", zoffsets_hi = "0", zstart = "2", zstep = "1"}
%16 = affine.apply #map3(%arg5)
%17 = vector.transfer_read %arg0[%arg3, %16], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%17 = vector.transfer_read %arg0[%arg3, %16], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%18 = vector.transfer_read %arg1[%16, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%19 = arith.muli %17, %18 : vector<16xi16>
%20 = arith.addi %15, %19 : vector<16xi16>
Expand All @@ -103,7 +103,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {index = 0 : i8, offset = 0 : i32}
// CHECK-SAME: : memref<?x64xi16>, vector<16xi16>
%21 = affine.apply #map4(%arg5)
%22 = vector.transfer_read %arg0[%arg3, %21], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%22 = vector.transfer_read %arg0[%arg3, %21], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%23 = vector.transfer_read %arg1[%21, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%24 = arith.muli %22, %23 : vector<16xi16>
%25 = arith.addi %20, %24 : vector<16xi16>
Expand All @@ -116,7 +116,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {xoffsets = "0x73727170", xoffsets_hi = "0x77767574", xsquare = "0x3120",
// CHECK-SAME: xstart = "0", zoffsets = "0", zoffsets_hi = "0", zstart = "4", zstep = "1"}
%26 = affine.apply #map5(%arg5)
%27 = vector.transfer_read %arg0[%arg3, %26], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%27 = vector.transfer_read %arg0[%arg3, %26], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%28 = vector.transfer_read %arg1[%26, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%29 = arith.muli %27, %28 : vector<16xi16>
%30 = arith.addi %25, %29 : vector<16xi16>
Expand All @@ -125,7 +125,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {index = 0 : i8, offset = 0 : i32}
// CHECK-SAME: : memref<?x64xi16>, vector<16xi16>
%31 = affine.apply #map6(%arg5)
%32 = vector.transfer_read %arg0[%arg3, %31], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%32 = vector.transfer_read %arg0[%arg3, %31], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%33 = vector.transfer_read %arg1[%31, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%34 = arith.muli %32, %33 : vector<16xi16>
%35 = arith.addi %30, %34 : vector<16xi16>
Expand All @@ -138,7 +138,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {xoffsets = "0x73727170", xoffsets_hi = "0x77767574", xsquare = "0x3120",
// CHECK-SAME: xstart = "0", zoffsets = "0", zoffsets_hi = "0", zstart = "6", zstep = "1"}
%36 = affine.apply #map7(%arg5)
%37 = vector.transfer_read %arg0[%arg3, %36], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%37 = vector.transfer_read %arg0[%arg3, %36], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%38 = vector.transfer_read %arg1[%36, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%39 = arith.muli %37, %38 : vector<16xi16>
%40 = arith.addi %35, %39 : vector<16xi16>
Expand All @@ -147,7 +147,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {index = 0 : i8, offset = 0 : i32}
// CHECK-SAME: : memref<?x64xi16>, vector<16xi16>
%41 = affine.apply #map8(%arg5)
%42 = vector.transfer_read %arg0[%arg3, %41], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%42 = vector.transfer_read %arg0[%arg3, %41], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%43 = vector.transfer_read %arg1[%41, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%44 = arith.muli %42, %43 : vector<16xi16>
%45 = arith.addi %40, %44 : vector<16xi16>
Expand All @@ -160,7 +160,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {xoffsets = "0x73727170", xoffsets_hi = "0x77767574", xsquare = "0x3120",
// CHECK-SAME: xstart = "0", zoffsets = "0", zoffsets_hi = "0", zstart = "8", zstep = "1"}
%46 = affine.apply #map9(%arg5)
%47 = vector.transfer_read %arg0[%arg3, %46], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%47 = vector.transfer_read %arg0[%arg3, %46], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%48 = vector.transfer_read %arg1[%46, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%49 = arith.muli %47, %48 : vector<16xi16>
%50 = arith.addi %45, %49 : vector<16xi16>
Expand All @@ -169,7 +169,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {index = 0 : i8, offset = 0 : i32}
// CHECK-SAME: : memref<?x64xi16>, vector<16xi16>
%51 = affine.apply #map10(%arg5)
%52 = vector.transfer_read %arg0[%arg3, %51], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%52 = vector.transfer_read %arg0[%arg3, %51], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%53 = vector.transfer_read %arg1[%51, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%54 = arith.muli %52, %53 : vector<16xi16>
%55 = arith.addi %50, %54 : vector<16xi16>
Expand All @@ -182,7 +182,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {xoffsets = "0x73727170", xoffsets_hi = "0x77767574", xsquare = "0x3120",
// CHECK-SAME: xstart = "0", zoffsets = "0", zoffsets_hi = "0", zstart = "10", zstep = "1"}
%56 = affine.apply #map11(%arg5)
%57 = vector.transfer_read %arg0[%arg3, %56], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%57 = vector.transfer_read %arg0[%arg3, %56], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%58 = vector.transfer_read %arg1[%56, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%59 = arith.muli %57, %58 : vector<16xi16>
%60 = arith.addi %55, %59 : vector<16xi16>
Expand All @@ -191,7 +191,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {index = 0 : i8, offset = 0 : i32}
// CHECK-SAME: : memref<?x64xi16>, vector<16xi16>
%61 = affine.apply #map12(%arg5)
%62 = vector.transfer_read %arg0[%arg3, %61], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%62 = vector.transfer_read %arg0[%arg3, %61], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%63 = vector.transfer_read %arg1[%61, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%64 = arith.muli %62, %63 : vector<16xi16>
%65 = arith.addi %60, %64 : vector<16xi16>
Expand All @@ -204,7 +204,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {xoffsets = "0x73727170", xoffsets_hi = "0x77767574", xsquare = "0x3120",
// CHECK-SAME: xstart = "0", zoffsets = "0", zoffsets_hi = "0", zstart = "12", zstep = "1"}
%66 = affine.apply #map13(%arg5)
%67 = vector.transfer_read %arg0[%arg3, %66], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%67 = vector.transfer_read %arg0[%arg3, %66], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%68 = vector.transfer_read %arg1[%66, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%69 = arith.muli %67, %68 : vector<16xi16>
%70 = arith.addi %65, %69 : vector<16xi16>
Expand All @@ -213,7 +213,7 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: {index = 0 : i8, offset = 0 : i32}
// CHECK-SAME: : memref<?x64xi16>, vector<16xi16>
%71 = affine.apply #map14(%arg5)
%72 = vector.transfer_read %arg0[%arg3, %71], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%72 = vector.transfer_read %arg0[%arg3, %71], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%73 = vector.transfer_read %arg1[%71, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%74 = arith.muli %72, %73 : vector<16xi16>
%75 = arith.addi %70, %74 : vector<16xi16>
Expand All @@ -227,14 +227,14 @@ func.func @matmul(%arg0: memref<?x64xi16>, %arg1: memref<?x64xi16>, %arg2: memre
// CHECK-SAME: xstart = "0", zoffsets = "0", zoffsets_hi = "0", zstart = "14", zstep = "1"}
// CHECK: %[[ACC:.*]] = aievec.srs %[[ACCk14]], %[[C0I32]] : vector<16xi48>, i32, vector<16xi16>
%76 = affine.apply #map15(%arg5)
%77 = vector.transfer_read %arg0[%arg3, %76], %c0_i16 {permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%77 = vector.transfer_read %arg0[%arg3, %76], %c0_i16 {in_bounds = [true], permutation_map = #map} : memref<?x64xi16>, vector<16xi16>
%78 = vector.transfer_read %arg1[%76, %arg4], %c0_i16 : memref<?x64xi16>, vector<16xi16>
%79 = arith.muli %77, %78 : vector<16xi16>
%80 = arith.addi %75, %79 : vector<16xi16>
// CHECK: scf.yield %[[ACC]] : vector<16xi16>
affine.yield %80 : vector<16xi16>
}
// CHECK: vector.transfer_write %[[ACCn]], %[[MC]][%[[I]], %[[J]]] {in_bounds = [true]} : vector<16xi16>, memref<?x64xi16>
// CHECK: vector.transfer_write %[[ACCn]], %[[MC]][%[[I]], %[[J]]] : vector<16xi16>, memref<?x64xi16>
vector.transfer_write %1, %arg2[%arg3, %arg4] : vector<16xi16>, memref<?x64xi16>
}
}
Expand Down
30 changes: 15 additions & 15 deletions test/Conversion/VectorToAIEVec/test-upd.mlir
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ func.func @veccopy_i8(%arg0: memref<256xi8>, %arg1: memref<256xi8>) {
%c0_i8 = arith.constant 0 : i8
affine.for %arg2 = 0 to 256 step 16 {
// CHECK-V2: %[[LD:.*]] = aievec.upd {{.*}} {index = 0 : i8, offset = 0 : i32} : memref<256xi8>, vector<16xi8>
// CHECK-V2-LLVM: %[[LD:.*]] = vector.transfer_read {{.*}}, {{.*}} {in_bounds = [true]} : memref<256xi8>, vector<16xi8>
// CHECK-V2-LLVM: %[[LD:.*]] = vector.transfer_read {{.*}}, {{.*}} : memref<256xi8>, vector<16xi8>
%0 = vector.transfer_read %arg0[%arg2], %c0_i8 : memref<256xi8>, vector<16xi8>
// CHECK-V2: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<16xi8>, memref<256xi8>
// CHECK-V2-LLVM: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<16xi8>, memref<256xi8>
// CHECK-V2: vector.transfer_write %[[LD]], {{.*}} : vector<16xi8>, memref<256xi8>
// CHECK-V2-LLVM: vector.transfer_write %[[LD]], {{.*}} : vector<16xi8>, memref<256xi8>
vector.transfer_write %0, %arg1[%arg2] : vector<16xi8>, memref<256xi8>
}
return
Expand All @@ -27,11 +27,11 @@ func.func @veccopy_i16(%arg0: memref<256xi16>, %arg1: memref<256xi16>) {
affine.for %arg2 = 0 to 256 step 16 {
// CHECK: %[[LD:.*]] = aievec.upd {{.*}} {index = 0 : i8, offset = 0 : i32} : memref<256xi16>, vector<16xi16>
// CHECK-V2: %[[LD:.*]] = aievec.upd {{.*}} {index = 0 : i8, offset = 0 : i32} : memref<256xi16>, vector<16xi16>
// CHECK-V2-LLVM: %[[LD:.*]] = vector.transfer_read {{.*}}, {{.*}} {in_bounds = [true]} : memref<256xi16>, vector<16xi16>
// CHECK-V2-LLVM: %[[LD:.*]] = vector.transfer_read {{.*}}, {{.*}} : memref<256xi16>, vector<16xi16>
%0 = vector.transfer_read %arg0[%arg2], %c0_i16 : memref<256xi16>, vector<16xi16>
// CHECK: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<16xi16>, memref<256xi16>
// CHECK-V2: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<16xi16>, memref<256xi16>
// CHECK-V2-LLVM: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<16xi16>, memref<256xi16>
// CHECK: vector.transfer_write %[[LD]], {{.*}} : vector<16xi16>, memref<256xi16>
// CHECK-V2: vector.transfer_write %[[LD]], {{.*}} : vector<16xi16>, memref<256xi16>
// CHECK-V2-LLVM: vector.transfer_write %[[LD]], {{.*}} : vector<16xi16>, memref<256xi16>
vector.transfer_write %0, %arg1[%arg2] : vector<16xi16>, memref<256xi16>
}
return
Expand All @@ -47,11 +47,11 @@ func.func @veccopy_i32(%arg0: memref<256xi32>, %arg1: memref<256xi32>) {
affine.for %arg2 = 0 to 256 step 8 {
// CHECK: %[[LD:.*]] = aievec.upd {{.*}} {index = 0 : i8, offset = 0 : i32} : memref<256xi32>, vector<8xi32>
// CHECK-V2: %[[LD:.*]] = aievec.upd {{.*}} {index = 0 : i8, offset = 0 : i32} : memref<256xi32>, vector<8xi32>
// CHECK-V2-LLVM: %[[LD:.*]] = vector.transfer_read {{.*}}, {{.*}} {in_bounds = [true]} : memref<256xi32>, vector<8xi32>
// CHECK-V2-LLVM: %[[LD:.*]] = vector.transfer_read {{.*}}, {{.*}} : memref<256xi32>, vector<8xi32>
%0 = vector.transfer_read %arg0[%arg2], %c0_i32 : memref<256xi32>, vector<8xi32>
// CHECK: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<8xi32>, memref<256xi32>
// CHECK-V2: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<8xi32>, memref<256xi32>
// CHECK-V2-LLVM: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<8xi32>, memref<256xi32>
// CHECK: vector.transfer_write %[[LD]], {{.*}} : vector<8xi32>, memref<256xi32>
// CHECK-V2: vector.transfer_write %[[LD]], {{.*}} : vector<8xi32>, memref<256xi32>
// CHECK-V2-LLVM: vector.transfer_write %[[LD]], {{.*}} : vector<8xi32>, memref<256xi32>
vector.transfer_write %0, %arg1[%arg2] : vector<8xi32>, memref<256xi32>
}
return
Expand All @@ -68,11 +68,11 @@ func.func @veccopy_long_i32(%arg0: memref<256xi32>, %arg1: memref<256xi32>) {
// CHECK: %[[LD0:.*]] = aievec.upd {{.*}} {index = 0 : i8, offset = 0 : i32} : memref<256xi32>, vector<16xi32>
// CHECK-NEXT: %[[LD1:.*]] = aievec.upd {{.*}}, %[[LD0]] {index = 1 : i8, offset = 256 : i32} : memref<256xi32>, vector<16xi32>
// CHECK-V2: %[[LD:.*]] = aievec.upd {{.*}} {index = 0 : i8, offset = 0 : i32} : memref<256xi32>, vector<16xi32>
// CHECK-V2-LLVM: %[[LD:.*]] = vector.transfer_read {{.*}}, {{.*}} {in_bounds = [true]} : memref<256xi32>, vector<16xi32>
// CHECK-V2-LLVM: %[[LD:.*]] = vector.transfer_read {{.*}}, {{.*}} : memref<256xi32>, vector<16xi32>
%0 = vector.transfer_read %arg0[%arg2], %c0_i32 : memref<256xi32>, vector<16xi32>
// CHECK: vector.transfer_write %[[LD1]], {{.*}} {in_bounds = [true]} : vector<16xi32>, memref<256xi32>
// CHECK-V2: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<16xi32>, memref<256xi32>
// CHECK-V2-LLVM: vector.transfer_write %[[LD]], {{.*}} {in_bounds = [true]} : vector<16xi32>, memref<256xi32>
// CHECK: vector.transfer_write %[[LD1]], {{.*}} : vector<16xi32>, memref<256xi32>
// CHECK-V2: vector.transfer_write %[[LD]], {{.*}} : vector<16xi32>, memref<256xi32>
// CHECK-V2-LLVM: vector.transfer_write %[[LD]], {{.*}} : vector<16xi32>, memref<256xi32>
vector.transfer_write %0, %arg1[%arg2] : vector<16xi32>, memref<256xi32>
}
return
Expand Down
Loading