tree 582ceb0c294f2834ce18e7d69d6bc05f2b994cfa
parent b7c4615e137815e2577a4795f33a9bcae2416cb8
author Han-Chung Wang <hanhan0912@gmail.com> 1773439120 -0700
committer GitHub <noreply@github.com> 1773439120 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJptIiQCRC1aQ7uu5UhlAAABbwQAG/9z7RWyyK8fRjM+djpU1AE
 D5XKcvfUFjN4OGGeKuCtZCgoLgHEDvnABQ6sshQQ6j0T0maqPqYijzeNZbdqkUJN
 4zjAEk/j4ISrPC7wu3eMtgbPkR+rlPs/mvi1W4ZvUrFxF8DKNDs87S9Oz7nT5HEj
 7BXp9fgz2Es9l1+Jf+8KUMkTBkiAAZyoWfB6jYjewt3g5SCKJVPy1MeHCRCbZYGG
 Z08jQDMa/pVDgs8tZ0LYnMQgOCdijhm3w3vQFRaaChOabnZ1bMsKl2RwyJxh3G2Z
 FEaGO7nFwGTcTFm4BPeVKMgYoSpEnlq4CdjxFXVnr+4RGBcAAJ8zXdqz5ix+pKvc
 S0Nzpc7be6hvRKwDhnpDX4bCZDhGW/zju5OQ8okb6O2KcPlEULLzwxDaglPV0Jjc
 Xlf9C3kZ4PqMf2lzGfoWu2s06QQFL1aNy+brqskAdshoKr7jzAbUwE2tyn+DrCa3
 UFNySIiWLZcwcf/Czws5cJB/TbXRKV52XRP8K+1mOIpY8PuwDvVDbm3rtJq9Jcws
 WguoZkRNueRaxxJVDqz8Q4O8XlWzqbc8OFdNIPYUb07YjIsagc38Pzqq/M4jkqZu
 yQbJn/1jZJCHMPnoMDCPtWAKrdSXJ2VrOAAKB4DIInAwLc3qJO0EQ7+waAy0n97X
 mb13Yo+chTWvE3yiW1G4
 =FzUK
 -----END PGP SIGNATURE-----
 

[mlir][vector] Lower vector.gather with delinearization approach (#184706)

The old implementation did not handle n-D memref correctly, which leads
to wrong access. E.g.,

```
 func.func @gather_memref_2d(%base: memref<?x?xf32>, %v: vector<2x3xindex>, %mask: vector<2x3xi1>, %pass_thru: vector<2x3xf32>) -> vector<2x3xf32> {
  %c0 = arith.constant 0 : index
  %c1 = arith.constant 1 : index
  %0 = vector.gather %base[%c0, %c1][%v], %mask, %pass_thru : memref<?x?xf32>, vector<2x3xindex>, vector<2x3xi1>, vector<2x3xf32> into vector<2x3xf32>
  return %0 : vector<2x3xf32>
 }
```

is lowered to

```
  func.func @gather_memref_2d(%arg0: memref<?x?xf32>, %arg1: vector<2x3xindex>, %arg2: vector<2x3xi1>, %arg3: vector<2x3xf32>) -> vector<2x3xf32> {
    %c0 = arith.constant 0 : index
    %c1 = arith.constant 1 : index
    %0 = ub.poison : vector<2x3xf32>
    %1 = vector.extract %arg3[0] : vector<3xf32> from vector<2x3xf32>
    %2 = vector.extract %arg2[0, 0] : i1 from vector<2x3xi1>
    %3 = vector.extract %arg1[0, 0] : index from vector<2x3xindex>
    %4 = arith.addi %3, %c1 : index
    %5 = scf.if %2 -> (vector<3xf32>) {
      %29 = vector.load %arg0[%c0, %4] : memref<?x?xf32>, vector<1xf32>
      %30 = vector.extract %29[0] : f32 from vector<1xf32>
      %31 = vector.insert %30, %1 [0] : f32 into vector<3xf32>
      scf.yield %31 : vector<3xf32>
    } else {
      scf.yield %1 : vector<3xf32>
    }
    // ...
```

The revision fixes it by by using `linearize(baseOffsets) + gatherIndex`
followed by `delinearize` to recover correct `n-D` load indices. This is
applied unconditionally for all rank > 1 memrefs.

Note that it enables the cases with strideds because we use
delinearization approach.

---------

Signed-off-by: hanhanW <hanhan0912@gmail.com>