Issue |
134268
|
Summary |
[mlir] vector.transfer_read and vector.transfer_write allow different source and destination element type
|
Labels |
mlir
|
Assignees |
|
Reporter |
douyixuan
|
Originally posted by @banach-space in https://github.com/llvm/llvm-project/pull/133721#discussion_r2024763522
The test case can be found at
`mlir/test/Dialect/Vector/invalid.mlir:528`
```mlir
func.func @test_vector.transfer_read(%arg1: memref<?xindex>) -> vector<3x4xi32> {
%c3 = arith.constant 3 : index
// expected-error@+1 {{expected a custom permutation_map when source rank is less than required for vector rank}}
%0 = vector.transfer_read %arg1[%c3, %c3], %c3 : memref<?xindex>, vector<3x4xi32>
return %0 : vector<3x4xi32>
}
```
`mlir/test/Dialect/Vector/invalid.mlir:658`
```mlir
func.func @test_vector.transfer_write(%vec_to_write: vector<3x4xi32>, %output_memref: memref<?xindex>) {
%c3 = arith.constant 3 : index
// expected-error@+1 {{expected a custom permutation_map when result rank is less than required for vector rank}}
vector.transfer_write %vec_to_write, %output_memref[%c3, %c3] : vector<3x4xi32>, memref<?xindex>
}
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs