diff options
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/crsave.ll')
-rw-r--r-- | llvm/test/CodeGen/PowerPC/crsave.ll | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/PowerPC/crsave.ll b/llvm/test/CodeGen/PowerPC/crsave.ll index 3e98dbd254d..109e595900a 100644 --- a/llvm/test/CodeGen/PowerPC/crsave.ll +++ b/llvm/test/CodeGen/PowerPC/crsave.ll @@ -1,5 +1,6 @@ ; RUN: llc -O0 -disable-fp-elim -mtriple=powerpc-unknown-linux-gnu < %s | FileCheck %s -check-prefix=PPC32 -; RUN: llc -O0 -disable-fp-elim -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=PPC64 +; RUN: llc -O0 -disable-fp-elim -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=PPC64-FP +; RUN: llc -O0 -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=PPC64 declare void @foo() @@ -23,6 +24,11 @@ entry: ; PPC64: lwz 12, 8(1) ; PPC64-NEXT: mtcrf 32, 12 +; PPC64-FP: mfcr 12 +; PPC64-FP-NEXT: stw 12, 8(31) +; PPC64-FP: lwz 12, 8(31) +; PPC64-FP-NEXT: mtcrf 32, 12 + define i32 @test_cr234() nounwind { entry: %ret = alloca i32, align 4 @@ -47,3 +53,10 @@ entry: ; PPC64-NEXT: mtcrf 16, 12 ; PPC64-NEXT: mtcrf 8, 12 +; PPC64-FP: mfcr 12 +; PPC64-FP-NEXT: stw 12, 8(31) +; PPC64-FP: lwz 12, 8(31) +; PPC64-FP-NEXT: mtcrf 32, 12 +; PPC64-FP-NEXT: mtcrf 16, 12 +; PPC64-FP-NEXT: mtcrf 8, 12 + |