1; RUN: llc < %s -mtriple=i386-apple-darwin -relocation-model=static | FileCheck -check-prefix X86STA %s
2; RUN: llc < %s -mtriple=i386-apple-darwin -relocation-model=pic | FileCheck -check-prefix X86PIC %s
3; RUN: llc < %s -mtriple=i386-pc-linux -relocation-model=dynamic-no-pic | FileCheck -check-prefix X86DYN %s
4; RUN: llc < %s -mtriple=i386-pc-win32 -relocation-model=static | FileCheck -check-prefix X86WINSTA %s
5
6; Call to immediate is not safe on x86-64 unless we *know* that the
7; call will be within 32-bits pcrel from the dest immediate.
8
9; RUN: llc < %s -mtriple=x86_64-- | FileCheck -check-prefix X64 %s
10
11; PR3666
12; PR3773
13; rdar://6904453
14
15define i32 @main() nounwind {
16entry:
17	%0 = call i32 inttoptr (i32 12345678 to i32 (i32)*)(i32 0) nounwind		; <i32> [#uses=1]
18	ret i32 %0
19}
20
21; X86STA: {{call.*12345678}}
22; X86PIC-NOT: {{call.*12345678}}
23; X86DYN: {{call.*12345678}}
24; X86WINSTA: {{call.*[*]%eax}}
25; X64: {{call.*[*]%rax}}
26