[llvm] [GlobalISel] support lowering of G_SHUFFLEVECTOR with pointer args (PR #141959)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri May 30 00:05:14 PDT 2025
================
@@ -0,0 +1,22 @@
+# RUN: llc -march=amdgcn -run-pass=legalizer -verify-machineinstrs %s -o -
+
+--- |
+ define i32 @test() {
+ unreachable
+ }
+...
+---
+name: test
+tracksRegLiveness: true
+body: |
+ bb.0:
+ %0:_(p0) = G_CONSTANT i64 0
+ %1:_(<2 x p0>) = G_BUILD_VECTOR %0:_(p0), %0:_(p0)
+ %2:_(<2 x p0>) = G_LOAD %0:_(p0) :: (load (<2 x p0>))
+ %3:_(p0) = G_SHUFFLE_VECTOR %2:_(<2 x p0>), %1:_, shufflemask(0)
+ %4:_(s32), %5:_(s32) = G_UNMERGE_VALUES %3:_(p0)
+ $vgpr0 = COPY %4:_(s32)
+ $vgpr1 = COPY %5:_(s32)
+ SI_RETURN implicit $vgpr0, implicit $vgpr1
+...
+
----------------
arsenm wrote:
Test belongs in GlobalISel subdirectory
https://github.com/llvm/llvm-project/pull/141959
More information about the llvm-commits
mailing list