@@ -6,71 +6,43 @@ define ptr @large_loop_switch(ptr %p) {
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
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
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
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
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
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
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
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
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