; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=x86_64-pc-linux > %t
; RUN: grep {movswl	%ax, %edi} %t
; RUN: grep {movw	x(%rip), %ax} %t

@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)

; RUN: llvm-as < %s | llc -march=x86-64 -relocation-model=pic > %t
; RUN: grep {movswl	%ax, %edi} %t
; RUN: grep {movw	(%rax), %ax} %t

@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)

Add -relocation-model=pic so that the test works both in Linux and Darwin.
Add -relocation-model=pic so that the test works
both in Linux and Darwin.



git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@67191 91177308-0d34-0410-b5e6-96231b3b80d8
