summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2014-03-31 17:48:16 +0000
committerHal Finkel <hfinkel@anl.gov>2014-03-31 17:48:16 +0000
commite2b375192478d8f6b20678bf79c27763a8e861b3 (patch)
treeba22323b661548ea2d644d10a575f7b6528a69a9 /test/CodeGen/PowerPC
parentadbf9764ae9bc87026f42b6a04bdb14c60920ba2 (diff)
downloadllvm-e2b375192478d8f6b20678bf79c27763a8e861b3.tar.gz
llvm-e2b375192478d8f6b20678bf79c27763a8e861b3.tar.bz2
llvm-e2b375192478d8f6b20678bf79c27763a8e861b3.tar.xz
[PowerPC] Don't ever expand BUILD_VECTOR of v2i64 with shuffles
If we have two unique values for a v2i64 build vector, this will always result in two vector loads if we expand using shuffles. Only one is necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205231 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC')
-rw-r--r--test/CodeGen/PowerPC/vsx.ll11
1 files changed, 6 insertions, 5 deletions
diff --git a/test/CodeGen/PowerPC/vsx.ll b/test/CodeGen/PowerPC/vsx.ll
index a1710938ab..9c37fe6d40 100644
--- a/test/CodeGen/PowerPC/vsx.ll
+++ b/test/CodeGen/PowerPC/vsx.ll
@@ -631,12 +631,13 @@ define <2 x i32> @test80(i32 %v) {
ret <2 x i32> %i
; CHECK-LABEL: @test80
-; CHECK: addi
-; CHECK: addi
-; CHECK: lxvd2x
+; CHECK-DAG: addi [[R1:[0-9]+]], 3, 3
+; CHECK-DAG: addi [[R2:[0-9]+]], 1, -16
+; CHECK-DAG: addi [[R3:[0-9]+]], 3, 2
+; CHECK: std [[R1]], 8([[R2]])
+; CHECK: std [[R3]], -16(1)
+; CHECK: lxvd2x 34, 0, [[R2]]
; CHECK-NOT: stxvd2x
-; FIXME: We still make one vector for each vector element and this shuffle them
-; together instead of just composing one vector on the stack.
; CHECK: blr
}