This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug regression/71231] [7 Regression]: 300% runtime increase for rnflow
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 23 May 2016 22:53:11 +0000
- Subject: [Bug regression/71231] [7 Regression]: 300% runtime increase for rnflow
- Auto-submitted: auto-generated
- References: <bug-71231-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71231
--- Comment #5 from UroÅ Bizjak <ubizjak at gmail dot com> ---
Actually, rnflow gets miscompiled, but scripts doesn't detect the failure.
Current mainline produces following results:
0: 0:24.469 -> Compare results
45 , 53 3852 3934 2.07999992
45 , 69 1805 1728 4.26999998
45 , 205 3379 3454 2.16999984
53 , 61 10863 11000 1.25000000
53 , 181 3137 3049 2.80999994
61 , 69 33011 33083 0.219999999
61 , 77 32262 32419 0.479999989
61 , 85 19449 19619 0.870000005
61 , 101 5129 5215 1.64999998
61 , 109 3287 3396 3.21000004
...
whereas the right results are:
0: 0:15.064 -> Compare results
45 , 69 1805 1873 3.62999988
53 , 61 10863 10709 1.41999996
53 , 69 9477 9552 0.789999962
53 , 189 5196 5278 1.54999995
61 , 69 33011 32902 0.329999983
61 , 141 1960 1848 5.71000004
61 , 149 2341 2415 3.05999994
61 , 165 4410 4561 3.30999994
61 , 173 6823 6909 1.24000001
61 , 189 13230 13363 1.00000000
Manually adding back missing AND in the resulting source:
.L333:
imull $843314861, %ecx, %edx
pxor %xmm0, %xmm0
addl $453816693, %edx
andl $2147483647, %edx <-- this instruction should be there!
cmpl $-1, %eax
cvtsi2ss %edx, %xmm0
movl %edx, %ecx
mulss %xmm1, %xmm0
je .L334
cmpl $1, %eax
jne .L333
cmpl %r10d, %r15d
jge .L336
gets back correct results.