summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorNemanja Ivanovic <nemanja.i.ibm@gmail.com>2016-03-24 13:40:33 +0000
committerNemanja Ivanovic <nemanja.i.ibm@gmail.com>2016-03-24 13:40:33 +0000
commit5ebc92dbe164cfeb4eb5b5f5d4237175678191c1 (patch)
tree7db6d83709ee57fc21a28bef8c7fcefb7f137654 /llvm/test/CodeGen
parentabb04956b6485fe3bd1f6e1e3020273095965ba2 (diff)
downloadbcm5719-llvm-5ebc92dbe164cfeb4eb5b5f5d4237175678191c1.tar.gz
bcm5719-llvm-5ebc92dbe164cfeb4eb5b5f5d4237175678191c1.zip
[PowerPC] Disable direct moves for extractelement and bitcast in 32-bit mode
This patch corresponds to review: http://reviews.llvm.org/D17711 It disables direct moves on these operations in 32-bit mode since the patterns assume 64-bit registers. The final patch is slightly different from the Phabricator review as the bitcast operations needed to be disabled in 32-bit mode as well. This fixes PR26617. llvm-svn: 264282
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/PowerPC/pr26617.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/PowerPC/pr26617.ll b/llvm/test/CodeGen/PowerPC/pr26617.ll
new file mode 100644
index 00000000000..474d7b94aaf
--- /dev/null
+++ b/llvm/test/CodeGen/PowerPC/pr26617.ll
@@ -0,0 +1,15 @@
+; RUN: llc -mcpu=pwr8 -mtriple=powerpc-unknown-unknown < %s | FileCheck %s
+define i32 @test(<4 x i32> %v, i32 %elem) #0 {
+entry:
+ %vecext = extractelement <4 x i32> %v, i32 %elem
+ ret i32 %vecext
+}
+; CHECK: stxvw4x 34,
+; CHECK: lwzx 3,
+
+define float @test2(i32 signext %a) {
+entry:
+ %conv = bitcast i32 %a to float
+ ret float %conv
+}
+; CHECK-NOT: mtvsr
OpenPOWER on IntegriCloud