[llvm] [AArch64][GlobalISel] Combine Shuffles of G_CONCAT_VECTORS (PR #87489)

Thorsten Schütt via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 8 12:29:50 PDT 2024


tschuett wrote:

[varargs](https://github.com/llvm/llvm-project/issues/87459) are unfortunately not here yet, but there are now several combines registered on G_SHUFFLE_VECTOR that will always fail because the input is bad.

```
def shuffle_vector_of_concats2 : GICombineRule<
   (defs root:$root, build_fn_matchinfo:$matchinfo),
   (match (G_CONCAT_VECTORS $src1, $a, $b),
          (G_CONCAT_VECTORS $src2, $c, $d),
          (G_SHUFFLE_VECTOR $root, $src1, $src2, $mask),
```


```
def shuffle_vector_of_concats3 : GICombineRule<
   (defs root:$root, build_fn_matchinfo:$matchinfo),
   (match (G_CONCAT_VECTORS $src1, $a, $b, $c),
          (G_CONCAT_VECTORS $src2, $d, $e, $f),
          (G_SHUFFLE_VECTOR $root, $src1, $src2, $mask),
```

https://github.com/llvm/llvm-project/pull/87489


More information about the llvm-commits mailing list