summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC/stfiwx-2.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-01-18 16:54:56 +0000
committerChris Lattner <sabre@nondot.org>2008-01-18 16:54:56 +0000
commita7a02fb828382afffd51596ee63822aa141a7147 (patch)
tree2e6d1f71fb242e2179dd11ae9efee9371a4309b0 /test/CodeGen/PowerPC/stfiwx-2.ll
parent3d66185ff8b276183fa8e9ce3d7ebb1d9ce88f74 (diff)
Fix a latent bug exposed by my truncstore patch. We compiled stfiwx-2.ll to:
_test: fctiwz f0, f1 stfiwx f0, 0, r4 blr instead of: _test: fctiwz f0, f1 stfd f0, -8(r1) nop nop lwz r2, -4(r1) stb r2, 0(r4) blr The former is not correct (stores 4 bytes, not 1). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46161 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC/stfiwx-2.ll')
-rw-r--r--test/CodeGen/PowerPC/stfiwx-2.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/stfiwx-2.ll b/test/CodeGen/PowerPC/stfiwx-2.ll
new file mode 100644
index 00000000000..5c4a834be44
--- /dev/null
+++ b/test/CodeGen/PowerPC/stfiwx-2.ll
@@ -0,0 +1,11 @@
+; This cannot be a stfiwx
+; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep stb
+; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | not grep stfiwx
+
+define void @test(float %F, i8* %P) {
+ %I = fptosi float %F to i32
+ %X = trunc i32 %I to i8
+ store i8 %X, i8* %P
+ ret void
+}
+