xref: /llvm-project/llvm/test/CodeGen/PowerPC/PR33671.ll (revision 427fb35192f1f7bb694a5910b05abc5925a798b2)
1; Function Attrs: norecurse nounwind
2; RUN: llc -mtriple=powerpc64le-unknown-unknown -mcpu=pwr9 < %s | FileCheck %s
3define void @test1(ptr nocapture readonly %arr, ptr nocapture %arrTo) {
4entry:
5  %arrayidx = getelementptr inbounds i32, ptr %arrTo, i64 4
6  %arrayidx1 = getelementptr inbounds i32, ptr %arr, i64 4
7  %0 = load <4 x i32>, ptr %arrayidx1, align 16
8  store <4 x i32> %0, ptr %arrayidx, align 16
9  ret void
10; CHECK-LABEL: test1
11; CHECK: lxv [[LD:[0-9]+]], 16(3)
12; CHECK: stxv [[LD]], 16(4)
13}
14
15; Function Attrs: norecurse nounwind
16define void @test2(ptr nocapture readonly %arr, ptr nocapture %arrTo) {
17entry:
18  %arrayidx = getelementptr inbounds i32, ptr %arrTo, i64 1
19  %arrayidx1 = getelementptr inbounds i32, ptr %arr, i64 2
20  %0 = load <4 x i32>, ptr %arrayidx1, align 16
21  store <4 x i32> %0, ptr %arrayidx, align 16
22  ret void
23; CHECK-LABEL: test2
24; CHECK: li [[REG:[0-9]+]], 8
25; CHECK: lxvx [[LD:[0-9]+]], 3, [[REG]]
26; CHECK: li [[REG2:[0-9]+]], 4
27; CHECK: stxvx [[LD]], 4, [[REG2]]
28}
29