summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-05-10 19:03:57 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-05-10 19:03:57 +0000
commitaad753bbbd98c952f7e65246af2faf5c7d5a850b (patch)
tree56b8ac3cef2c55af0b8ac483936ac15afd534b3a /test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll
parent1deea21e3512e8c41b5145711019048d39d1cb0b (diff)
downloadllvm-aad753bbbd98c952f7e65246af2faf5c7d5a850b.tar.gz
llvm-aad753bbbd98c952f7e65246af2faf5c7d5a850b.tar.bz2
llvm-aad753bbbd98c952f7e65246af2faf5c7d5a850b.tar.xz
Be careful with operand promotion. For a binary operation, the source operands may be the same. PR7018. rdar://7939869.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103419 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll')
-rw-r--r--test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll b/test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll
new file mode 100644
index 0000000000..e719da304c
--- /dev/null
+++ b/test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll
@@ -0,0 +1,11 @@
+; RUN: llc < %s -mtriple=i386-apple-darwin10
+; PR7018
+; rdar://7939869
+
+define i32 @CXB30130(i32 %num1, i16* nocapture %num2, float* nocapture %num3, double* nocapture %num4) nounwind ssp {
+entry:
+ %0 = load i16* %num2, align 2 ; <i16> [#uses=2]
+ %1 = mul nsw i16 %0, %0 ; <i16> [#uses=1]
+ store i16 %1, i16* %num2, align 2
+ ret i32 undef
+}