diff --git a/test/Regression/CodeGen/X86/store_op_load_fold.ll b/test/Regression/CodeGen/X86/store_op_load_fold.ll new file mode 100644 index 00000000000..64d8da59eed --- /dev/null +++ b/test/Regression/CodeGen/X86/store_op_load_fold.ll @@ -0,0 +1,14 @@ +; RUN: llvm-as < %s | llc -march=x86 | not grep 'mov' +; +; Test the add and load are folded into the store instruction. + +target triple = "i686-pc-linux-gnu" + +%X = weak global short 0 + +void %foo() { + %tmp.0 = load short* %X + %tmp.3 = add short %tmp.0, 329 + store short %tmp.3, short* %X + ret void +}