aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-01 05:49:05 +0000
committerChris Lattner <sabre@nondot.org>2006-03-01 05:49:05 +0000
commitc607fa8665942710d0748184bf99a3051dfda3d8 (patch)
treed1cf95784b0a54abdc3189fe9bb735d52db33d81
parent8c13d0a5734a2f9d2b1c3870732cafffb20e3a55 (diff)
downloadexternal_llvm-c607fa8665942710d0748184bf99a3051dfda3d8.zip
external_llvm-c607fa8665942710d0748184bf99a3051dfda3d8.tar.gz
external_llvm-c607fa8665942710d0748184bf99a3051dfda3d8.tar.bz2
new testcase. These functions shouldn't touch the stack if stfiwx use
is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26446 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/PowerPC/stfiwx.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/stfiwx.ll b/test/CodeGen/PowerPC/stfiwx.ll
new file mode 100644
index 0000000..acc9c67
--- /dev/null
+++ b/test/CodeGen/PowerPC/stfiwx.ll
@@ -0,0 +1,21 @@
+; RUN: llvm-as < %s | llc -march=ppc32 -mattr=stfiwx | grep stfiwx &&
+; RUN: llvm-as < %s | llc -march=ppc32 -mattr=stfiwx | not grep r1 &&
+; RUN: llvm-as < %s | llc -march=ppc32 -mattr=-stfiwx | not grep stfiwx &&
+; RUN: llvm-as < %s | llc -march=ppc32 -mattr=-stfiwx | grep r1
+
+void %test(float %a, int* %b) {
+ %tmp.2 = cast float %a to int
+ store int %tmp.2, int* %b
+ ret void
+}
+
+void %test2(float %a, int* %b, int %i) {
+ %tmp.2 = getelementptr int* %b, int 1
+ %tmp.5 = getelementptr int* %b, int %i
+ %tmp.7 = cast float %a to int
+ store int %tmp.7, int* %tmp.5
+ store int %tmp.7, int* %tmp.2
+ store int %tmp.7, int* %b
+ ret void
+}
+