@@ -6,71 +6,43 @@ define ptr @large_loop_switch(ptr %p) {
66; CHECK-NEXT: pushq %rbx
77; CHECK-NEXT: .cfi_def_cfa_offset 16
88; CHECK-NEXT: .cfi_offset %rbx, -16
9- ; CHECK-NEXT: movq %rdi, %rax
9+ ; CHECK-NEXT: movq %rdi, %rsi
1010; 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
11+ ; CHECK-NEXT: movl %ebx, %eax
12+ ; CHECK-NEXT: jmpq *.LJTI0_0(,%rax,8)
2013; CHECK-NEXT: .LBB0_2: # %sw.bb1
21- ; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
22- ; CHECK-NEXT: .cfi_def_cfa_offset 16
2314; CHECK-NEXT: movl $531, %edi # imm = 0x213
24- ; CHECK-NEXT: movq %rax, %rsi
15+ ; CHECK-NEXT: .LBB0_3: # %for.body
2516; CHECK-NEXT: callq ccc@PLT
17+ ; CHECK-NEXT: .LBB0_4: # %for.body
18+ ; CHECK-NEXT: movq %rax, %rsi
2619; CHECK-NEXT: decl %ebx
27- ; CHECK-NEXT: movl %ebx, %ecx
28- ; CHECK-NEXT: jmpq *.LJTI0_0(,%rcx,8)
29- ; CHECK-NEXT: .p2align 4
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
3223; CHECK-NEXT: movl $532, %edi # imm = 0x214
33- ; CHECK-NEXT: movq %rax, %rsi
3424; 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
39- ; CHECK-NEXT: .LBB0_4: # %sw.bb5
40- ; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
41- ; CHECK-NEXT: movl $533, %edi # imm = 0x215
42- ; CHECK-NEXT: movq %rax, %rsi
25+ ; CHECK-NEXT: jmp .LBB0_4
26+ ; CHECK-NEXT: .LBB0_10: # %sw.bb11
27+ ; CHECK-NEXT: movl $658, %edi # imm = 0x292
4328; 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
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
5031; CHECK-NEXT: movl $535, %edi # imm = 0x217
51- ; CHECK-NEXT: movq %rax, %rsi
5232; 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
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
5935; 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
66- ; CHECK-NEXT: .LBB0_7: # %sw.bb11
67- ; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
68- ; CHECK-NEXT: movl $658, %edi # imm = 0x292
69- ; CHECK-NEXT: movq %rax, %rsi
36+ ; CHECK-NEXT: jmp .LBB0_3
37+ ; CHECK-NEXT: .LBB0_7: # %sw.bb5
38+ ; CHECK-NEXT: movl $533, %edi # imm = 0x215
7039; 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
7446entry:
7547 br label %for.body
7648
0 commit comments