This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/82682] [8 Regression] FAIL: gcc.target/i386/pr50038.c scan-assembler-times movzbl 2 (found 3 times) since r253958
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 20 Nov 2017 14:58:18 +0000
- Subject: [Bug target/82682] [8 Regression] FAIL: gcc.target/i386/pr50038.c scan-assembler-times movzbl 2 (found 3 times) since r253958
- Auto-submitted: auto-generated
- References: <bug-82682-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82682
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Yes. r253955 to r253958 diff is:
--- pr50038.s.253955 2017-11-20 09:52:43.000000000 -0500
+++ pr50038.s.253958 2017-11-20 09:52:48.000000000 -0500
@@ -1,53 +1,55 @@
.file "pr50038.c"
.text
.p2align 4,,15
.globl test
.type test, @function
test:
.LFB0:
.cfi_startproc
pushl %edi
.cfi_def_cfa_offset 8
.cfi_offset 7, -8
pushl %esi
.cfi_def_cfa_offset 12
.cfi_offset 6, -12
pushl %ebx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
movl 16(%esp), %eax
movl 20(%esp), %edx
testl %eax, %eax
jle .L1
movl 24(%esp), %ecx
leal (%edx,%eax,2), %edi
.p2align 4,,10
.p2align 3
.L3:
movzbl (%edx), %esi
addl $2, %edx
addl $1, %ecx
movzbl -1(%edx), %eax
- imull $19595, %esi, %esi
+ movl %esi, %ebx
imull $38470, %eax, %eax
+ movzbl %bl, %esi
+ imull $19595, %esi, %esi
addl %esi, %eax
sarl $16, %eax
movb %al, -1(%ecx)
cmpl %edi, %edx
jne .L3
.L1:
popl %ebx
.cfi_restore 3
.cfi_def_cfa_offset 12
popl %esi
.cfi_restore 6
.cfi_def_cfa_offset 8
popl %edi
.cfi_restore 7
.cfi_def_cfa_offset 4
ret
.cfi_endproc
.LFE0:
.size test, .-test
.ident "GCC: (GNU) 8.0.0 20171020 (experimental)"
.section .note.GNU-stack,"",@progbits
Before *.ira dump the IL is identical, RA makes different decisions because
MEMs are seen as more costly than before.
@@ -237,7 +237,7 @@ Ranges after the compression:
Pressure: GENERAL_REGS=5
Hard reg set forest:
0:( 0-6 8-15)@0
- 1:( 0-6)@135464
+ 1:( 0-6)@167080
Allocno a0r99 of GENERAL_REGS(7) has 7 avail. regs 0-6, node: 0-6
(confl regs = 7-79)
Allocno a1r104 of GENERAL_REGS(7) has 7 avail. regs 0-6, node: 0-6
(confl regs = 7-79)
Allocno a2r103 of GENERAL_REGS(7) has 7 avail. regs 0-6, node: 0-6
(confl regs = 7-79)
@@ -266,9 +266,9 @@ Ranges after the compression:
Making a0(r99,l0) colorable
Making a1(r104,l0) colorable
Making a3(r96,l0) colorable
- Pushing a0(r99,l0)(cost 3058)
- Pushing a3(r96,l0)(cost 9008)
- Pushing a1(r104,l0)(cost 14358)
+ Pushing a0(r99,l0)(cost 3312)
+ Pushing a3(r96,l0)(cost 10962)
+ Pushing a1(r104,l0)(cost 16058)
Pushing a13(r107,l0)(cost 0)
Pushing a10(r108,l0)(cost 0)
Pushing a8(r111,l0)(cost 0)
@@ -284,15 +284,12 @@ Ranges after the compression:
Popping a11(r109,l0) -- assign reg 4
Popping a12(r93,l0) -- assign reg 4
Popping a2(r103,l0) -- assign reg 0
-Spilling a0r99 for a12r93
-Assigning 3 to a12r93
- a0(r99,l0) -- assign hard reg 5
Disposition:
- 12:r93 l0 3 3:r96 l0 2 0:r99 l0 5 2:r103 l0 0
+ 12:r93 l0 4 3:r96 l0 2 0:r99 l0 3 2:r103 l0 0
1:r104 l0 1 13:r107 l0 0 10:r108 l0 0 11:r109 l0 4
9:r110 l0 4 8:r111 l0 0 7:r112 l0 0
New iteration of spill/restore move
-+++Costs: overall 0, reg 0, mem 0, ld 0, st 0, move 0
++++Costs: overall 3400, reg 3400, mem 0, ld 0, st 0, move 0
+++ move loops 0, new jumps 0