Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(487)

Side by Side Diff: test/CodeGen/X86/fast-isel-x86-64.ll

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/CodeGen/X86/fast-isel-gep.ll ('k') | test/CodeGen/X86/frameaddr.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; RUN: llc < %s -mattr=-avx -fast-isel -mcpu=core2 -O0 -regalloc=fast -asm-verbo se=0 -fast-isel-abort | FileCheck %s 1 ; RUN: llc < %s -mattr=-avx -fast-isel -mcpu=core2 -O0 -regalloc=fast -asm-verbo se=0 -fast-isel-abort | FileCheck %s
2 ; RUN: llc < %s -mattr=+avx -fast-isel -mcpu=core2 -O0 -regalloc=fast -asm-verbo se=0 -fast-isel-abort | FileCheck %s --check-prefix=AVX 2 ; RUN: llc < %s -mattr=+avx -fast-isel -mcpu=core2 -O0 -regalloc=fast -asm-verbo se=0 -fast-isel-abort | FileCheck %s --check-prefix=AVX
3 ; RUN: llc < %s -fast-isel -O0 -regalloc=fast -asm-verbose=0 -fast-isel-abort -m triple=x86_64-none-nacl | FileCheck %s --check-prefix=NACL64
4 ; RUN: llc < %s -fast-isel -O0 -regalloc=fast -asm-verbose=0 -fast-isel-abort -m triple=x86_64-none-nacl -relocation-model=pic | FileCheck %s --check-prefix=NACL 64_PIC
3 5
4 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 2:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:6 4" 6 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 2:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:6 4"
5 target triple = "x86_64-apple-darwin10.0.0" 7 target triple = "x86_64-apple-darwin10.0.0"
6 8
7 ; Make sure that fast-isel folds the immediate into the binop even though it 9 ; Make sure that fast-isel folds the immediate into the binop even though it
8 ; is non-canonical. 10 ; is non-canonical.
9 define i32 @test1(i32 %i) nounwind ssp { 11 define i32 @test1(i32 %i) nounwind ssp {
10 %and = and i32 8, %i 12 %and = and i32 8, %i
11 ret i32 %and 13 ret i32 %and
12 } 14 }
(...skipping 26 matching lines...) Expand all
39 41
40 @G = external global i32 42 @G = external global i32
41 define i64 @test3() nounwind { 43 define i64 @test3() nounwind {
42 %A = ptrtoint i32* @G to i64 44 %A = ptrtoint i32* @G to i64
43 ret i64 %A 45 ret i64 %A
44 ; CHECK-LABEL: test3: 46 ; CHECK-LABEL: test3:
45 ; CHECK: movq _G@GOTPCREL(%rip), %rax 47 ; CHECK: movq _G@GOTPCREL(%rip), %rax
46 ; CHECK-NEXT: ret 48 ; CHECK-NEXT: ret
47 } 49 }
48 50
51 ; NACL64 version uses i32 for 32-bit pointers.
52 define i32 @test3_nacl64() nounwind {
53 %A = ptrtoint i32* @G to i32
54 ret i32 %A
55
56 ; NACL64_PIC: test3_nacl64:
57 ; NACL64_PIC: movl G@GOTPCREL(%rip), %eax
58 ; NACL64_PIC-NEXT: popq %r11
59 ; NACL64_PIC-NEXT: nacljmp %r11d, %r15
60 }
49 61
50 62
51 ; rdar://9289558 63 ; rdar://9289558
52 @rtx_length = external global [153 x i8] 64 @rtx_length = external global [153 x i8]
53 65
54 define i32 @test4(i64 %idxprom9) nounwind { 66 define i32 @test4(i64 %idxprom9) nounwind {
55 %arrayidx10 = getelementptr inbounds [153 x i8]* @rtx_length, i32 0, i64 %idxp rom9 67 %arrayidx10 = getelementptr inbounds [153 x i8]* @rtx_length, i32 0, i64 %idxp rom9
56 %tmp11 = load i8* %arrayidx10, align 1 68 %tmp11 = load i8* %arrayidx10, align 1
57 %conv = zext i8 %tmp11 to i32 69 %conv = zext i8 %tmp11 to i32
58 ret i32 %conv 70 ret i32 %conv
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 304
293 ; PR13563 305 ; PR13563
294 define void @test23(i8* noalias sret %result) { 306 define void @test23(i8* noalias sret %result) {
295 %a = alloca i8 307 %a = alloca i8
296 %b = call i8* @foo23() 308 %b = call i8* @foo23()
297 ret void 309 ret void
298 ; CHECK-LABEL: test23: 310 ; CHECK-LABEL: test23:
299 ; CHECK: call 311 ; CHECK: call
300 ; CHECK: movq %rdi, %rax 312 ; CHECK: movq %rdi, %rax
301 ; CHECK: ret 313 ; CHECK: ret
314 ; NACL64: test23:
315 ; NACL64: call
316 ; NACL64: movl %edi, %eax
317 ; NACL64: popq %r11
318 ; NACL64: nacljmp %r11d, %r15
302 } 319 }
303 320
304 declare i8* @foo23() 321 declare i8* @foo23()
305 322
306 declare void @takesi32ptr(i32* %arg) 323 declare void @takesi32ptr(i32* %arg)
307 324
308 ; CHECK-LABEL: allocamaterialize 325 ; CHECK-LABEL: allocamaterialize
309 define void @allocamaterialize() { 326 define void @allocamaterialize() {
310 %a = alloca i32 327 %a = alloca i32
311 ; CHECK: leaq {{.*}}, %rdi 328 ; CHECK: leaq {{.*}}, %rdi
312 call void @takesi32ptr(i32* %a) 329 call void @takesi32ptr(i32* %a)
313 ret void 330 ret void
314 } 331 }
OLDNEW
« no previous file with comments | « test/CodeGen/X86/fast-isel-gep.ll ('k') | test/CodeGen/X86/frameaddr.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698