|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
2 |
| -; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s |
| 2 | +; RUN: llc < %s -tail-dup-jmptable-loop-size=5 -mtriple=x86_64-unknown-linux-gnu | FileCheck %s |
3 | 3 | define i8* @large_loop_switch(i8* %p) {
|
4 | 4 | ; CHECK-LABEL: large_loop_switch:
|
5 | 5 | ; CHECK: # %bb.0: # %entry
|
6 | 6 | ; CHECK-NEXT: pushq %rbx
|
7 | 7 | ; CHECK-NEXT: .cfi_def_cfa_offset 16
|
8 | 8 | ; CHECK-NEXT: .cfi_offset %rbx, -16
|
9 |
| -; CHECK-NEXT: movq %rdi, %rax |
| 9 | +; CHECK-NEXT: movq %rdi, %rsi |
10 | 10 | ; CHECK-NEXT: movl $6, %ebx
|
11 |
| -; CHECK-NEXT: movl %ebx, %ecx |
12 |
| -; CHECK-NEXT: jmpq *.LJTI0_0(,%rcx,8) |
13 |
| -; CHECK-NEXT: .LBB0_1: # %for.cond.cleanup |
14 |
| -; CHECK-NEXT: movl $530, %edi # imm = 0x212 |
15 |
| -; CHECK-NEXT: movq %rax, %rsi |
16 |
| -; CHECK-NEXT: popq %rbx |
17 |
| -; CHECK-NEXT: .cfi_def_cfa_offset 8 |
18 |
| -; CHECK-NEXT: jmp ccc@PLT # TAILCALL |
19 |
| -; CHECK-NEXT: .p2align 4, 0x90 |
| 11 | +; CHECK-NEXT: movl %ebx, %eax |
| 12 | +; CHECK-NEXT: jmpq *.LJTI0_0(,%rax,8) |
20 | 13 | ; CHECK-NEXT: .LBB0_2: # %sw.bb1
|
21 |
| -; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 |
22 |
| -; CHECK-NEXT: .cfi_def_cfa_offset 16 |
23 | 14 | ; CHECK-NEXT: movl $531, %edi # imm = 0x213
|
24 |
| -; CHECK-NEXT: movq %rax, %rsi |
| 15 | +; CHECK-NEXT: .LBB0_3: # %for.body |
25 | 16 | ; CHECK-NEXT: callq ccc@PLT
|
| 17 | +; CHECK-NEXT: .LBB0_4: # %for.body |
| 18 | +; CHECK-NEXT: movq %rax, %rsi |
26 | 19 | ; CHECK-NEXT: decl %ebx
|
27 |
| -; CHECK-NEXT: movl %ebx, %ecx |
28 |
| -; CHECK-NEXT: jmpq *.LJTI0_0(,%rcx,8) |
29 |
| -; CHECK-NEXT: .p2align 4, 0x90 |
30 |
| -; CHECK-NEXT: .LBB0_3: # %sw.bb3 |
31 |
| -; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 |
| 20 | +; CHECK-NEXT: movl %ebx, %eax |
| 21 | +; CHECK-NEXT: jmpq *.LJTI0_0(,%rax,8) |
| 22 | +; CHECK-NEXT: .LBB0_5: # %sw.bb3 |
32 | 23 | ; CHECK-NEXT: movl $532, %edi # imm = 0x214
|
33 |
| -; CHECK-NEXT: movq %rax, %rsi |
34 | 24 | ; CHECK-NEXT: callq bbb@PLT
|
35 |
| -; CHECK-NEXT: decl %ebx |
36 |
| -; CHECK-NEXT: movl %ebx, %ecx |
37 |
| -; CHECK-NEXT: jmpq *.LJTI0_0(,%rcx,8) |
38 |
| -; CHECK-NEXT: .p2align 4, 0x90 |
39 |
| -; CHECK-NEXT: .LBB0_4: # %sw.bb5 |
40 |
| -; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 |
| 25 | +; CHECK-NEXT: jmp .LBB0_4 |
| 26 | +; CHECK-NEXT: .LBB0_7: # %sw.bb5 |
41 | 27 | ; CHECK-NEXT: movl $533, %edi # imm = 0x215
|
42 |
| -; CHECK-NEXT: movq %rax, %rsi |
43 | 28 | ; CHECK-NEXT: callq bbb@PLT
|
44 |
| -; CHECK-NEXT: decl %ebx |
45 |
| -; CHECK-NEXT: movl %ebx, %ecx |
46 |
| -; CHECK-NEXT: jmpq *.LJTI0_0(,%rcx,8) |
47 |
| -; CHECK-NEXT: .p2align 4, 0x90 |
48 |
| -; CHECK-NEXT: .LBB0_5: # %sw.bb7 |
49 |
| -; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 |
| 29 | +; CHECK-NEXT: jmp .LBB0_4 |
| 30 | +; CHECK-NEXT: .LBB0_8: # %sw.bb7 |
50 | 31 | ; CHECK-NEXT: movl $535, %edi # imm = 0x217
|
51 |
| -; CHECK-NEXT: movq %rax, %rsi |
52 | 32 | ; CHECK-NEXT: callq bbb@PLT
|
53 |
| -; CHECK-NEXT: decl %ebx |
54 |
| -; CHECK-NEXT: movl %ebx, %ecx |
55 |
| -; CHECK-NEXT: jmpq *.LJTI0_0(,%rcx,8) |
56 |
| -; CHECK-NEXT: .p2align 4, 0x90 |
57 |
| -; CHECK-NEXT: .LBB0_6: # %sw.bb9 |
58 |
| -; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 |
| 33 | +; CHECK-NEXT: jmp .LBB0_4 |
| 34 | +; CHECK-NEXT: .LBB0_9: # %sw.bb9 |
59 | 35 | ; CHECK-NEXT: movl $536, %edi # imm = 0x218
|
60 |
| -; CHECK-NEXT: movq %rax, %rsi |
61 |
| -; CHECK-NEXT: callq ccc@PLT |
62 |
| -; CHECK-NEXT: decl %ebx |
63 |
| -; CHECK-NEXT: movl %ebx, %ecx |
64 |
| -; CHECK-NEXT: jmpq *.LJTI0_0(,%rcx,8) |
65 |
| -; CHECK-NEXT: .p2align 4, 0x90 |
66 |
| -; CHECK-NEXT: .LBB0_7: # %sw.bb11 |
67 |
| -; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 |
| 36 | +; CHECK-NEXT: jmp .LBB0_3 |
| 37 | +; CHECK-NEXT: .LBB0_10: # %sw.bb11 |
68 | 38 | ; CHECK-NEXT: movl $658, %edi # imm = 0x292
|
69 |
| -; CHECK-NEXT: movq %rax, %rsi |
70 | 39 | ; CHECK-NEXT: callq bbb@PLT
|
71 |
| -; CHECK-NEXT: decl %ebx |
72 |
| -; CHECK-NEXT: movl %ebx, %ecx |
73 |
| -; CHECK-NEXT: jmpq *.LJTI0_0(,%rcx,8) |
| 40 | +; CHECK-NEXT: jmp .LBB0_4 |
| 41 | +; CHECK-NEXT: .LBB0_11: # %for.cond.cleanup |
| 42 | +; CHECK-NEXT: movl $530, %edi # imm = 0x212 |
| 43 | +; CHECK-NEXT: popq %rbx |
| 44 | +; CHECK-NEXT: .cfi_def_cfa_offset 8 |
| 45 | +; CHECK-NEXT: jmp ccc@PLT # TAILCALL |
74 | 46 | entry:
|
75 | 47 | br label %for.body
|
76 | 48 |
|
|
0 commit comments