summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/20090313-signext.ll
blob: 7313670a1c33146c4e8c39f98d893f03d185bdbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
; RUN: llvm-as < %s | llc -march=x86-64 -relocation-model=pic > %t
; RUN: grep {movswl	%ax, %edi} %t
; RUN: grep {movw	(%rax), %ax} %t
; XFAIL: *

@x = common global i16 0

define signext i16 @f() nounwind {
entry:
	%0 = tail call signext i16 @h() nounwind
	%1 = sext i16 %0 to i32
	tail call void @g(i32 %1) nounwind
	%2 = load i16* @x, align 2
	ret i16 %2
}

declare signext i16 @h()

declare void @g(i32)