| Index: test/CodeGen/X86/fast-isel-x86-64.ll
|
| diff --git a/test/CodeGen/X86/fast-isel-x86-64.ll b/test/CodeGen/X86/fast-isel-x86-64.ll
|
| index 3747d049424d902d0339a9c31fff212c27a5cf52..8d838f85de13c84e0065e1745ddf675e1854f06d 100644
|
| --- a/test/CodeGen/X86/fast-isel-x86-64.ll
|
| +++ b/test/CodeGen/X86/fast-isel-x86-64.ll
|
| @@ -1,5 +1,7 @@
|
| ; RUN: llc < %s -mattr=-avx -fast-isel -mcpu=core2 -O0 -regalloc=fast -asm-verbose=0 -fast-isel-abort | FileCheck %s
|
| ; RUN: llc < %s -mattr=+avx -fast-isel -mcpu=core2 -O0 -regalloc=fast -asm-verbose=0 -fast-isel-abort | FileCheck %s --check-prefix=AVX
|
| +; RUN: llc < %s -fast-isel -O0 -regalloc=fast -asm-verbose=0 -fast-isel-abort -mtriple=x86_64-none-nacl | FileCheck %s --check-prefix=NACL64
|
| +; RUN: llc < %s -fast-isel -O0 -regalloc=fast -asm-verbose=0 -fast-isel-abort -mtriple=x86_64-none-nacl -relocation-model=pic | FileCheck %s --check-prefix=NACL64_PIC
|
|
|
| target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
| target triple = "x86_64-apple-darwin10.0.0"
|
| @@ -46,6 +48,16 @@ define i64 @test3() nounwind {
|
| ; CHECK-NEXT: ret
|
| }
|
|
|
| +; NACL64 version uses i32 for 32-bit pointers.
|
| +define i32 @test3_nacl64() nounwind {
|
| + %A = ptrtoint i32* @G to i32
|
| + ret i32 %A
|
| +
|
| +; NACL64_PIC: test3_nacl64:
|
| +; NACL64_PIC: movl G@GOTPCREL(%rip), %eax
|
| +; NACL64_PIC-NEXT: popq %r11
|
| +; NACL64_PIC-NEXT: nacljmp %r11d, %r15
|
| +}
|
|
|
|
|
| ; rdar://9289558
|
| @@ -299,6 +311,11 @@ define void @test23(i8* noalias sret %result) {
|
| ; CHECK: call
|
| ; CHECK: movq %rdi, %rax
|
| ; CHECK: ret
|
| +; NACL64: test23:
|
| +; NACL64: call
|
| +; NACL64: movl %edi, %eax
|
| +; NACL64: popq %r11
|
| +; NACL64: nacljmp %r11d, %r15
|
| }
|
|
|
| declare i8* @foo23()
|
|
|