diff options
| author | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2016-03-24 13:40:33 +0000 |
|---|---|---|
| committer | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2016-03-24 13:40:33 +0000 |
| commit | 5ebc92dbe164cfeb4eb5b5f5d4237175678191c1 (patch) | |
| tree | 7db6d83709ee57fc21a28bef8c7fcefb7f137654 /llvm/test | |
| parent | abb04956b6485fe3bd1f6e1e3020273095965ba2 (diff) | |
| download | bcm5719-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')
| -rw-r--r-- | llvm/test/CodeGen/PowerPC/pr26617.ll | 15 |
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 |

