@@ -34,16 +34,16 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
3434; CHECK-NEXT: .cfi_offset %edi, -16
3535; CHECK-NEXT: .cfi_offset %ebx, -12
3636; CHECK-NEXT: xorl %eax, %eax
37- ; CHECK-NEXT: movl $0, {{[-0-9]+}}(%e{{[sb]}}p) ## 4-byte Folded Spill
37+ ; CHECK-NEXT: xorl %edi, %edi
3838; CHECK-NEXT: testb %al, %al
3939; CHECK-NEXT: Ltmp0: ## EH_LABEL
40- ; CHECK-NEXT: ## implicit-def: $edi
40+ ; CHECK-NEXT: ## implicit-def: $ebx
4141; CHECK-NEXT: calll __Znam
4242; CHECK-NEXT: Ltmp1: ## EH_LABEL
4343; CHECK-NEXT: ## %bb.1: ## %bb11
4444; CHECK-NEXT: movl %eax, %esi
45- ; CHECK-NEXT: movb $1, %bl
46- ; CHECK-NEXT: testb %bl , %bl
45+ ; CHECK-NEXT: movb $1, %al
46+ ; CHECK-NEXT: testb %al , %al
4747; CHECK-NEXT: jne LBB0_2
4848; CHECK-NEXT: ## %bb.7: ## %bb31
4949; CHECK-NEXT: ## implicit-def: $eax
@@ -53,7 +53,8 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
5353; CHECK-NEXT: ## Child Loop BB0_13 Depth 2
5454; CHECK-NEXT: ## Child Loop BB0_16 Depth 3
5555; CHECK-NEXT: ## Child Loop BB0_21 Depth 2
56- ; CHECK-NEXT: testb %bl, %bl
56+ ; CHECK-NEXT: movb $1, %al
57+ ; CHECK-NEXT: testb %al, %al
5758; CHECK-NEXT: jne LBB0_9
5859; CHECK-NEXT: ## %bb.10: ## %bb41
5960; CHECK-NEXT: ## in Loop: Header=BB0_8 Depth=1
@@ -66,7 +67,9 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
6667; CHECK-NEXT: Ltmp3: ## EH_LABEL
6768; CHECK-NEXT: ## %bb.11: ## %bb42
6869; CHECK-NEXT: ## in Loop: Header=BB0_8 Depth=1
69- ; CHECK-NEXT: testb %bl, %bl
70+ ; CHECK-NEXT: xorl %eax, %eax
71+ ; CHECK-NEXT: decl %eax
72+ ; CHECK-NEXT: testl %eax, %eax
7073; CHECK-NEXT: jne LBB0_18
7174; CHECK-NEXT: ## %bb.12: ## %bb45.preheader
7275; CHECK-NEXT: ## in Loop: Header=BB0_8 Depth=1
@@ -75,7 +78,8 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
7578; CHECK-NEXT: ## Parent Loop BB0_8 Depth=1
7679; CHECK-NEXT: ## => This Loop Header: Depth=2
7780; CHECK-NEXT: ## Child Loop BB0_16 Depth 3
78- ; CHECK-NEXT: testb %bl, %bl
81+ ; CHECK-NEXT: movb $1, %cl
82+ ; CHECK-NEXT: testb %cl, %cl
7983; CHECK-NEXT: jne LBB0_19
8084; CHECK-NEXT: ## %bb.14: ## %bb48
8185; CHECK-NEXT: ## in Loop: Header=BB0_13 Depth=2
@@ -84,14 +88,14 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
8488; CHECK-NEXT: ## in Loop: Header=BB0_13 Depth=2
8589; CHECK-NEXT: xorl %ecx, %ecx
8690; CHECK-NEXT: movl %esi, %edx
87- ; CHECK-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p) , %edi ## 4-byte Reload
91+ ; CHECK-NEXT: movl %edi , %ebx
8892; CHECK-NEXT: LBB0_16: ## %bb49
8993; CHECK-NEXT: ## Parent Loop BB0_8 Depth=1
9094; CHECK-NEXT: ## Parent Loop BB0_13 Depth=2
9195; CHECK-NEXT: ## => This Inner Loop Header: Depth=3
9296; CHECK-NEXT: incl %ecx
9397; CHECK-NEXT: addl $4, %edx
94- ; CHECK-NEXT: decl %edi
98+ ; CHECK-NEXT: decl %ebx
9599; CHECK-NEXT: jne LBB0_16
96100; CHECK-NEXT: LBB0_17: ## %bb57
97101; CHECK-NEXT: ## in Loop: Header=BB0_13 Depth=2
@@ -103,12 +107,13 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
103107; CHECK-NEXT: movl %eax, {{[0-9]+}}(%esp)
104108; CHECK-NEXT: movl $0, (%esp)
105109; CHECK-NEXT: calll ___bzero
106- ; CHECK-NEXT: testb %bl, %bl
110+ ; CHECK-NEXT: movb $1, %al
111+ ; CHECK-NEXT: testb %al, %al
107112; CHECK-NEXT: jne LBB0_22
108113; CHECK-NEXT: ## %bb.20: ## %bb61.preheader
109114; CHECK-NEXT: ## in Loop: Header=BB0_8 Depth=1
110115; CHECK-NEXT: movl %esi, %eax
111- ; CHECK-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p) , %ecx ## 4-byte Reload
116+ ; CHECK-NEXT: movl %edi , %ecx
112117; CHECK-NEXT: LBB0_21: ## %bb61
113118; CHECK-NEXT: ## Parent Loop BB0_8 Depth=1
114119; CHECK-NEXT: ## => This Inner Loop Header: Depth=2
@@ -122,23 +127,23 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
122127; CHECK-NEXT: jmp LBB0_8
123128; CHECK-NEXT: LBB0_18: ## %bb43
124129; CHECK-NEXT: Ltmp5: ## EH_LABEL
125- ; CHECK-NEXT: movl %esi, %edi
130+ ; CHECK-NEXT: movl %esi, %ebx
126131; CHECK-NEXT: calll _OnOverFlow
127132; CHECK-NEXT: Ltmp6: ## EH_LABEL
128133; CHECK-NEXT: jmp LBB0_3
129134; CHECK-NEXT: LBB0_2: ## %bb29
130135; CHECK-NEXT: Ltmp7: ## EH_LABEL
131- ; CHECK-NEXT: movl %esi, %edi
136+ ; CHECK-NEXT: movl %esi, %ebx
132137; CHECK-NEXT: calll _OnOverFlow
133138; CHECK-NEXT: Ltmp8: ## EH_LABEL
134139; CHECK-NEXT: LBB0_3: ## %bb30
135140; CHECK-NEXT: ud2
136141; CHECK-NEXT: LBB0_4: ## %bb20.loopexit
137142; CHECK-NEXT: Ltmp4: ## EH_LABEL
138143; CHECK-NEXT: LBB0_9:
139- ; CHECK-NEXT: movl %esi, %edi
144+ ; CHECK-NEXT: movl %esi, %ebx
140145; CHECK-NEXT: LBB0_6: ## %bb23
141- ; CHECK-NEXT: testl %edi , %edi
146+ ; CHECK-NEXT: testl %ebx , %ebx
142147; CHECK-NEXT: addl $28, %esp
143148; CHECK-NEXT: popl %esi
144149; CHECK-NEXT: popl %edi
0 commit comments