diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/remat-mov-0.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/remat-mov-0.ll | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/X86/remat-mov-0.ll b/llvm/test/CodeGen/X86/remat-mov-0.ll index c4f768ca529..5fb445c9357 100644 --- a/llvm/test/CodeGen/X86/remat-mov-0.ll +++ b/llvm/test/CodeGen/X86/remat-mov-0.ll @@ -1,13 +1,33 @@ -; RUN: llc < %s -march=x86-64 | grep {xorl %edi, %edi} | count 4 +; RUN: llc < %s -march=x86-64 | FileCheck %s ; CodeGen should remat the zero instead of spilling it. declare void @foo(i64 %p) +; CHECK: bar: +; CHECK: xorl %edi, %edi +; CHECK: xorl %edi, %edi define void @bar() nounwind { call void @foo(i64 0) call void @foo(i64 0) - call void @foo(i64 0) - call void @foo(i64 0) ret void } + +; CHECK: bat: +; CHECK: movq $-1, %rdi +; CHECK: movq $-1, %rdi +define void @bat() nounwind { + call void @foo(i64 -1) + call void @foo(i64 -1) + ret void +} + +; CHECK: bau: +; CHECK: movl $1, %edi +; CHECK: movl $1, %edi +define void @bau() nounwind { + call void @foo(i64 1) + call void @foo(i64 1) + ret void +} + |

