In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / CodeGen / X86 / 20090313-signext.ll
blob7313670a1c33146c4e8c39f98d893f03d185bdbc
1 ; RUN: llvm-as < %s | llc -march=x86-64 -relocation-model=pic > %t
2 ; RUN: grep {movswl     %ax, %edi} %t
3 ; RUN: grep {movw       (%rax), %ax} %t
4 ; XFAIL: *
6 @x = common global i16 0
8 define signext i16 @f() nounwind {
9 entry:
10         %0 = tail call signext i16 @h() nounwind
11         %1 = sext i16 %0 to i32
12         tail call void @g(i32 %1) nounwind
13         %2 = load i16* @x, align 2
14         ret i16 %2
17 declare signext i16 @h()
19 declare void @g(i32)