aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/store_op_load_fold.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/X86/store_op_load_fold.ll')
-rw-r--r--test/CodeGen/X86/store_op_load_fold.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/CodeGen/X86/store_op_load_fold.ll b/test/CodeGen/X86/store_op_load_fold.ll
new file mode 100644
index 0000000..66d0e47
--- /dev/null
+++ b/test/CodeGen/X86/store_op_load_fold.ll
@@ -0,0 +1,13 @@
+; RUN: llc < %s -march=x86 | not grep mov
+;
+; Test the add and load are folded into the store instruction.
+
+@X = internal global i16 0 ; <i16*> [#uses=2]
+
+define void @foo() {
+ %tmp.0 = load i16* @X ; <i16> [#uses=1]
+ %tmp.3 = add i16 %tmp.0, 329 ; <i16> [#uses=1]
+ store i16 %tmp.3, i16* @X
+ ret void
+}
+