summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/PowerPC
diff options
context:
space:
mode:
authorczhengsz <czhengsz@cn.ibm.com>2019-11-24 22:46:26 -0500
committerczhengsz <czhengsz@cn.ibm.com>2019-11-24 22:46:26 -0500
commitd1c16598b71c4bc427c874d483ba67568f97a3d2 (patch)
treeedfefade5d939576c86941ab69ac80cba573b927 /llvm/test/CodeGen/PowerPC
parentd72a8a4dd5baad1fd90f4e13fdb6b585afea4657 (diff)
downloadbcm5719-llvm-d1c16598b71c4bc427c874d483ba67568f97a3d2.tar.gz
bcm5719-llvm-d1c16598b71c4bc427c874d483ba67568f97a3d2.zip
Revert "[PowerPC] combine rlwinm+rlwinm to rlwinm"
This reverts commit 29f6f9b2b2bfecccf903738e2f5a0cd0a70fce31.
Diffstat (limited to 'llvm/test/CodeGen/PowerPC')
-rw-r--r--llvm/test/CodeGen/PowerPC/fold-rlwinm-1.ll11
-rw-r--r--llvm/test/CodeGen/PowerPC/fold-rlwinm.mir110
2 files changed, 6 insertions, 115 deletions
diff --git a/llvm/test/CodeGen/PowerPC/fold-rlwinm-1.ll b/llvm/test/CodeGen/PowerPC/fold-rlwinm-1.ll
index 12887d89225..b0586b06cd1 100644
--- a/llvm/test/CodeGen/PowerPC/fold-rlwinm-1.ll
+++ b/llvm/test/CodeGen/PowerPC/fold-rlwinm-1.ll
@@ -11,7 +11,8 @@ define void @foo(i32 signext %var1) {
; CHECK-NEXT: xori r3, r3, 1
; CHECK-NEXT: addis r4, r2, res@toc@ha
; CHECK-NEXT: cntlzw r3, r3
-; CHECK-NEXT: rlwinm r3, r3, 14, 0, 12
+; CHECK-NEXT: srwi r3, r3, 5
+; CHECK-NEXT: slwi r3, r3, 19
; CHECK-NEXT: stw r3, res@toc@l(r4)
; CHECK-NEXT: blr
entry:
@@ -29,10 +30,10 @@ define void @foo_multiple_use(i32 signext %var1) {
; CHECK-NEXT: addis r4, r2, res2@toc@ha
; CHECK-NEXT: addis r6, r2, res@toc@ha
; CHECK-NEXT: cntlzw r3, r3
-; CHECK-NEXT: srwi r5, r3, 5
-; CHECK-NEXT: rlwinm r3, r3, 14, 0, 12
-; CHECK-NEXT: stw r5, res2@toc@l(r4)
-; CHECK-NEXT: stw r3, res@toc@l(r6)
+; CHECK-NEXT: srwi r3, r3, 5
+; CHECK-NEXT: slwi r5, r3, 19
+; CHECK-NEXT: stw r3, res2@toc@l(r4)
+; CHECK-NEXT: stw r5, res@toc@l(r6)
; CHECK-NEXT: blr
entry:
%cmp = icmp eq i32 %var1, 1
diff --git a/llvm/test/CodeGen/PowerPC/fold-rlwinm.mir b/llvm/test/CodeGen/PowerPC/fold-rlwinm.mir
deleted file mode 100644
index c2ab89c8a8d..00000000000
--- a/llvm/test/CodeGen/PowerPC/fold-rlwinm.mir
+++ /dev/null
@@ -1,110 +0,0 @@
-# RUN: llc -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu \
-# RUN: -run-pass ppc-mi-peepholes %s -o - -verify-machineinstrs | FileCheck %s
-
----
-name: testFoldRLWINM
-#CHECK : name : testFoldRLWINM
-tracksRegLiveness: true
-body: |
- bb.0.entry:
- liveins: $x3
- %0:g8rc = COPY $x3
- %1:gprc = COPY %0.sub_32:g8rc
- %2:gprc = RLWINM %1:gprc, 27, 5, 31
- ; CHECK-NOT: %2:gprc = RLWINM %1:gprc, 27, 5, 31
- %3:gprc = RLWINM %2:gprc, 19, 0, 12
- ; CHECK: %3:gprc = RLWINM %1, 14, 0, 12
- BLR8 implicit $lr8, implicit $rm
-...
----
-name: testFoldRLWINMSrcWrapped
-#CHECK : name : testFoldRLWINMSrcWrapped
-tracksRegLiveness: true
-body: |
- bb.0.entry:
- liveins: $x3
- %0:g8rc = COPY $x3
- %1:gprc = COPY %0.sub_32:g8rc
- %2:gprc = RLWINM %1:gprc, 27, 30, 10
- ; CHECK-NOT: %2:gprc = RLWINM %1:gprc, 27, 30 ,10
- %3:gprc = RLWINM %2:gprc, 19, 0, 12
- ; CHECK: %3:gprc = RLWINM %1, 14, 11, 12
- BLR8 implicit $lr8, implicit $rm
-...
----
-name: testFoldRLWINMUserWrapped
-#CHECK : name : testFoldRLWINMUserWrapped
-tracksRegLiveness: true
-body: |
- bb.0.entry:
- liveins: $x3
- %0:g8rc = COPY $x3
- %1:gprc = COPY %0.sub_32:g8rc
- %2:gprc = RLWINM %1:gprc, 10, 5, 31
- ; CHECK-NOT: %2:gprc = RLWINM %1:gprc, 10, 5, 31
- %3:gprc = RLWINM %2:gprc, 10, 30, 5
- ; CHECK: %3:gprc = RLWINM %1, 20, 30, 5
- BLR8 implicit $lr8, implicit $rm
-...
----
-name: testFoldRLWINMMultipleUses
-#CHECK : name : testFoldRLWINMMultipleUses
-tracksRegLiveness: true
-body: |
- bb.0.entry:
- liveins: $x3
- %0:g8rc = COPY $x3
- %1:gprc = COPY %0.sub_32:g8rc
- %2:gprc = RLWINM killed %1:gprc, 27, 5, 31
- ; CHECK: %2:gprc = RLWINM %1, 27, 5, 31
- %3:gprc = RLWINM %2:gprc, 19, 0, 12
- ; CHECK: %3:gprc = RLWINM killed %1, 14, 0, 12
- STW %3:gprc, %2:gprc, 100
- ; CHECK: STW %3, %2, 100
- BLR8 implicit $lr8, implicit $rm
-...
----
-name: testFoldRLWINMToZero
-#CHECK : name : testFoldRLWINMToZero
-tracksRegLiveness: true
-body: |
- bb.0.entry:
- liveins: $x3
- %0:g8rc = COPY $x3
- %1:gprc = COPY %0.sub_32:g8rc
- %2:gprc = RLWINM %1:gprc, 27, 5, 10
- ; CHECK-NOT: %2:gprc = RLWINM %1:gprc, 27, 5, 10
- %3:gprc = RLWINM %2:gprc, 8, 5, 10
- ; CHECK: %3:gprc = LI 0
- BLR8 implicit $lr8, implicit $rm
-...
----
-name: testFoldRLWINMoToZero
-#CHECK : name : testFoldRLWINMoToZero
-tracksRegLiveness: true
-body: |
- bb.0.entry:
- liveins: $x3
- %0:g8rc = COPY $x3
- %1:gprc = COPY %0.sub_32:g8rc
- %2:gprc = RLWINM %1:gprc, 27, 5, 10
- ; CHECK-NOT: %2:gprc = RLWINM %1:gprc, 27, 5, 10
- %3:gprc = RLWINMo %2:gprc, 8, 5, 10, implicit-def $cr0
- ; CHECK: %3:gprc = ANDIo %2, 0, implicit-def $cr0
- BLR8 implicit $lr8, implicit $rm
-...
----
-name: testFoldRLWINMInvalidMask
-#CHECK : name : testFoldRLWINMInvalidMask
-tracksRegLiveness: true
-body: |
- bb.0.entry:
- liveins: $x3
- %0:g8rc = COPY $x3
- %1:gprc = COPY %0.sub_32:g8rc
- %2:gprc = RLWINM %1:gprc, 20, 5, 31
- ; CHECK: %2:gprc = RLWINM %1, 20, 5, 31
- %3:gprc = RLWINM %2:gprc, 19, 10, 20
- ; CHECK: %3:gprc = RLWINM %2, 19, 10, 20
- BLR8 implicit $lr8, implicit $rm
-...
OpenPOWER on IntegriCloud