llvm-6502/test/CodeGen/PowerPC/stfiwx.ll
Hal Finkel 6e1de2e63e Convert a PPC test from grep to FileCheck
Convert this test to FileCheck, and improve it to check for the instructions it
is trying to exclude instead of checking for register use (especially because
grepping for r1 can be thrown off, for example, by a use of r12).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195979 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-30 20:04:33 +00:00

44 lines
1.1 KiB
LLVM

; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin8 -mattr=stfiwx | FileCheck %s
; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin8 -mattr=-stfiwx | FileCheck -check-prefix=CHECK-LS %s
define void @test1(float %a, i32* %b) nounwind {
; CHECK-LABEL: @test1
; CHECK-LS-LABEL: @test1
%tmp.2 = fptosi float %a to i32 ; <i32> [#uses=1]
store i32 %tmp.2, i32* %b
ret void
; CHECK-NOT: lwz
; CHECK-NOT: stw
; CHECK: stfiwx
; CHECK: blr
; CHECK-LS: lwz
; CHECK-LS: stw
; CHECK-LS-NOT: stfiwx
; CHECK-LS: blr
}
define void @test2(float %a, i32* %b, i32 %i) nounwind {
; CHECK-LABEL: @test2
; CHECK-LS-LABEL: @test2
%tmp.2 = getelementptr i32* %b, i32 1 ; <i32*> [#uses=1]
%tmp.5 = getelementptr i32* %b, i32 %i ; <i32*> [#uses=1]
%tmp.7 = fptosi float %a to i32 ; <i32> [#uses=3]
store i32 %tmp.7, i32* %tmp.5
store i32 %tmp.7, i32* %tmp.2
store i32 %tmp.7, i32* %b
ret void
; CHECK-NOT: lwz
; CHECK-NOT: stw
; CHECK: stfiwx
; CHECK: blr
; CHECK-LS: lwz
; CHECK-LS: stw
; CHECK-LS-NOT: stfiwx
; CHECK-LS: blr
}