[llvm] [RISCV][GISEL] instruction-select for G_SPLAT_VECTOR (PR #111193)
Thorsten Schütt via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 4 12:48:36 PDT 2024
================
@@ -67,7 +67,428 @@ define <vscale x 64 x i1> @splat_zero_nxv64i1() {
ret <vscale x 64 x i1> zeroinitializer
}
+define <vscale x 1 x i8> @splat_zero_nxv1i8() {
----------------
tschuett wrote:
```
def extract_vector_element_not_const : GICombineRule<
(defs root:$root),
(match (G_INSERT_VECTOR_ELT $src, $x, $value, $idx),
(G_EXTRACT_VECTOR_ELT $root, $src, $idx)),
(apply (GIReplaceReg $root, $value))>;
def extract_vector_element_different_indices : GICombineRule<
(defs root:$root, build_fn_matchinfo:$matchinfo),
(match (G_INSERT_VECTOR_ELT $src, $x, $value, $idx2),
(G_EXTRACT_VECTOR_ELT $root, $src, $idx1),
[{ return Helper.matchExtractVectorElementWithDifferentIndices(${root}, ${matchinfo}); }]),
(apply [{ Helper.applyBuildFnMO(${root}, ${matchinfo}); }])>;
```
https://github.com/llvm/llvm-project/pull/111193
More information about the llvm-commits
mailing list