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

Reply via email to