summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC/rotl-rotr-crash.ll
diff options
context:
space:
mode:
authorNemanja Ivanovic <nemanja.i.ibm@gmail.com>2015-12-02 10:36:24 +0000
committerNemanja Ivanovic <nemanja.i.ibm@gmail.com>2015-12-02 10:36:24 +0000
commit8364ade5d93474e14943675f122e0f69c976ff55 (patch)
tree3661e862c695b13da4307f7828d73e9d1f07fcef /test/CodeGen/PowerPC/rotl-rotr-crash.ll
parent044b4b4a4327c5a84e1c5a0560612e2ee7e0846a (diff)
Patch to fix a crash in the PowerPC back end due to ISD::ROTL and ISD::ROTR
not being expanded. Test case included. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254501 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC/rotl-rotr-crash.ll')
-rw-r--r--test/CodeGen/PowerPC/rotl-rotr-crash.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/rotl-rotr-crash.ll b/test/CodeGen/PowerPC/rotl-rotr-crash.ll
new file mode 100644
index 00000000000..3fbb67ecf25
--- /dev/null
+++ b/test/CodeGen/PowerPC/rotl-rotr-crash.ll
@@ -0,0 +1,12 @@
+; RUN: llc < %s -mtriple=powerpc64le-unknown-unknown -mcpu=pwr8
+
+; Ensure this does not crash
+
+; Function Attrs: norecurse nounwind
+define <4 x i32> @func1 (<4 x i32> %a) {
+entry:
+ %0 = lshr <4 x i32> %a, <i32 16, i32 16, i32 16, i32 16>
+ %1 = shl <4 x i32> %a, <i32 16, i32 16, i32 16, i32 16>
+ %2 = or <4 x i32> %1, %0
+ ret <4 x i32> %2
+}