diff options
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll')
| -rw-r--r-- | llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll b/llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll index be05c57b83f..f49a70325b5 100644 --- a/llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll +++ b/llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll @@ -1,6 +1,6 @@ ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \ ; RUN: -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr < %s | FileCheck %s -; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \ +; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 \ ; RUN: -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr < %s | FileCheck %s @@ -16,13 +16,19 @@ ; Function Attrs: nounwind define dso_local signext i32 @spillCRSET(i32 signext %p1, i32 signext %p2) { ; CHECK-LABEL: spillCRSET: -; CHECK: # %bb.0: # %entry -; CHECK: lis [[REG1:.*]], -32768 +; CHECK: # %bb.2: +; CHECK-DAG: crnor [[CREG:.*]]*cr5+lt, eq, eq +; CHECK-DAG: mfocrf [[REG2:.*]], [[CREG]] +; CHECK-DAG: rlwinm [[REG2]], [[REG2]] +; CHECK: .LBB0_3: ; CHECK-DAG: creqv [[CREG:.*]]*cr5+lt, [[CREG]]*cr5+lt, [[CREG]]*cr5+lt +; CHECK: lis [[REG1:.*]], -32768 +; CHECK: .LBB0_4: ; CHECK-NOT: mfocrf [[REG2:.*]], [[CREG]] ; CHECK-NOT: rlwinm [[REG2]], [[REG2]] ; CHECK: stw [[REG1]] -; CHECK: .LBB0_1: # %redo_first_pass +; CHECK: # %bb.5: + entry: %tobool = icmp eq i32 %p2, 0 %tobool2 = icmp eq i32 %p1, 0 |

