blob: 5fb445c9357c88248f02fdc1b4f802a0e1057bff [file] [log] [blame]
Dan Gohmand7140f12010-01-21 02:09:26 +00001; RUN: llc < %s -march=x86-64 | FileCheck %s
Dan Gohman14d2c102010-01-11 17:37:57 +00002
3; CodeGen should remat the zero instead of spilling it.
4
5declare void @foo(i64 %p)
6
Dan Gohmand7140f12010-01-21 02:09:26 +00007; CHECK: bar:
8; CHECK: xorl %edi, %edi
9; CHECK: xorl %edi, %edi
Dan Gohman14d2c102010-01-11 17:37:57 +000010define void @bar() nounwind {
11 call void @foo(i64 0)
12 call void @foo(i64 0)
Dan Gohman14d2c102010-01-11 17:37:57 +000013 ret void
14}
Dan Gohmand7140f12010-01-21 02:09:26 +000015
16; CHECK: bat:
17; CHECK: movq $-1, %rdi
18; CHECK: movq $-1, %rdi
19define void @bat() nounwind {
20 call void @foo(i64 -1)
21 call void @foo(i64 -1)
22 ret void
23}
24
25; CHECK: bau:
26; CHECK: movl $1, %edi
27; CHECK: movl $1, %edi
28define void @bau() nounwind {
29 call void @foo(i64 1)
30 call void @foo(i64 1)
31 ret void
32}
33