This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug regression/71231] [7 Regression]: 300% runtime increase for rnflow


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]