public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
       [not found] <bug-25621-4@http.gcc.gnu.org/bugzilla/>
@ 2013-03-29 10:07 ` Joost.VandeVondele at mat dot ethz.ch
  2014-03-16 15:54 ` Joost.VandeVondele at mat dot ethz.ch
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: Joost.VandeVondele at mat dot ethz.ch @ 2013-03-29 10:07 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621

Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Joost.VandeVondele at mat
                   |                            |dot ethz.ch
         Depends on|                            |53947

--- Comment #12 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> 2013-03-29 10:07:06 UTC ---
This has become much more a vectorizer problem. Basically ifort generates code
that is twice as fast for routine S31 of the initial comment. Given that this
is a common dot product, it might be good to see why that happens. Both
compilers fail to notice that S32 is basically the same code hand-unrolled.

Tested with the code in comment #6 (without inlining)

> gfortran -march=native -ffast-math -O3 -fno-inline PR25621.f90
> ./a.out
 default loop  0.56491500000000006     
 hand optimized loop  0.74488600000000016     
> ifort -xHost -O3 -fno-inline PR25621.f90
> ./a.out
 default loop  0.377943000000000     
 hand optimized loop  0.579911000000000


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
       [not found] <bug-25621-4@http.gcc.gnu.org/bugzilla/>
  2013-03-29 10:07 ` [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math) Joost.VandeVondele at mat dot ethz.ch
@ 2014-03-16 15:54 ` Joost.VandeVondele at mat dot ethz.ch
  2014-03-24 11:02 ` iliyapalachev at gmail dot com
  2023-09-23 21:08 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 13+ messages in thread
From: Joost.VandeVondele at mat dot ethz.ch @ 2014-03-16 15:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621

--- Comment #13 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> ---
(In reply to Joost VandeVondele from comment #12)
> Both compilers fail to notice that S32 is basically the same code
> hand-unrolled.

with gcc 4.9

> ./a.out
 default loop  0.54291800000000001     
 hand optimized loop  0.54291700000000009     

so, some progress, both versions of the loop give the same performance. Still
not quite as good as ifort, however.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
       [not found] <bug-25621-4@http.gcc.gnu.org/bugzilla/>
  2013-03-29 10:07 ` [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math) Joost.VandeVondele at mat dot ethz.ch
  2014-03-16 15:54 ` Joost.VandeVondele at mat dot ethz.ch
@ 2014-03-24 11:02 ` iliyapalachev at gmail dot com
  2023-09-23 21:08 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 13+ messages in thread
From: iliyapalachev at gmail dot com @ 2014-03-24 11:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621

Ilya Palachev <iliyapalachev at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |iliyapalachev at gmail dot com

--- Comment #14 from Ilya Palachev <iliyapalachev at gmail dot com> ---
(In reply to Joost VandeVondele from comment #13)

At page http://gcc.gnu.org/wiki/VectorizationTasks

it is written that the generalization of reduction support
(http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00172.html) can help to fix this
bug.

Is this information still correct for gcc-4.9?


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
       [not found] <bug-25621-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2014-03-24 11:02 ` iliyapalachev at gmail dot com
@ 2023-09-23 21:08 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-09-23 21:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> ---
We are generating the same vectorized loop for S31 and S32 now.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
  2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
                   ` (7 preceding siblings ...)
  2008-12-05 16:27 ` jv244 at cam dot ac dot uk
@ 2010-04-27 18:25 ` jv244 at cam dot ac dot uk
  8 siblings, 0 replies; 13+ messages in thread
From: jv244 at cam dot ac dot uk @ 2010-04-27 18:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from jv244 at cam dot ac dot uk  2010-04-27 18:25 -------
the original loop gets now (4.6.0) vectorized, and gets the same performance as
the 'hand optimized loop' (which does not get vectorized):

> ./a.out
 default loop  0.88005500000000003
 hand optimized loop  0.86005399999999987

it is still not quite as fast as the ifort code:

ifort -fno-inline -O3 -xT -static t.f90
> ~/a.out
 default loop  0.444028000000000
 hand optimized loop  0.964060000000000

ifort's asm looks good:

# -- Begin  s31_
# mark_begin;
       .align    16,0x90
        .globl s31_
s31_:
# parameter 1: %rdi
# parameter 2: %rsi
# parameter 3: %rdx
# parameter 4: %rcx
..B2.1:                         # Preds ..B2.0
..___tag_value_s31_.10:                                         #3.12
        xorps     %xmm1, %xmm1                                  #9.2
        movaps    %xmm1, %xmm0                                  #9.2
        xorl      %eax, %eax                                    #9.2
                                # LOE rax rdx rbx rbp rsi rdi r12 r13 r14 r15
xmm0 xmm1
..B2.2:                         # Preds ..B2.2 ..B2.1
        movaps    (%rdi,%rax,8), %xmm2                          #10.8
        movaps    16(%rdi,%rax,8), %xmm3                        #10.8
        movaps    32(%rdi,%rax,8), %xmm4                        #10.8
        movaps    48(%rdi,%rax,8), %xmm5                        #10.8
        mulpd     (%rsi,%rax,8), %xmm2                          #10.12
        mulpd     16(%rsi,%rax,8), %xmm3                        #10.12
        mulpd     32(%rsi,%rax,8), %xmm4                        #10.12
        mulpd     48(%rsi,%rax,8), %xmm5                        #10.12
        addpd     %xmm2, %xmm0                                  #10.4
        addq      $8, %rax                                      #9.2
        cmpq      $1024, %rax                                   #9.2
        addpd     %xmm3, %xmm1                                  #10.4
        addpd     %xmm4, %xmm0                                  #10.4
        addpd     %xmm5, %xmm1                                  #10.4
        jb        ..B2.2        # Prob 82%                      #9.2
                                # LOE rax rdx rbx rbp rsi rdi r12 r13 r14 r15
xmm0 xmm1
..B2.3:                         # Preds ..B2.2
        addpd     %xmm1, %xmm0                                  #9.2
        haddpd    %xmm0, %xmm0                                  #9.2
        movsd     %xmm0, (%rdx)                                 #10.4
        ret                                                     #12.1
        .align    16,0x90
..___tag_value_s31_.11:                                         #

while gcc has more complicated-looking asm
.globl s31_
        .type   s31_, @function
s31_:
.LFB0:
        movl    (%rcx), %r9d
        movq    $0, (%rdx)
        testl   %r9d, %r9d
        jle     .L9
        movl    %r9d, %r8d
        shrl    %r8d
        cmpl    $4, %r9d
        leal    (%r8,%r8), %r10d
        jbe     .L15
        testl   %r10d, %r10d
        je      .L15
        xorl    %eax, %eax
        xorl    %ecx, %ecx
        xorpd   %xmm1, %xmm1
        .p2align 4,,10
        .p2align 3
.L12:
        movsd   (%rsi,%rax), %xmm2
        movsd   (%rdi,%rax), %xmm3
        movhpd  8(%rsi,%rax), %xmm2
        movhpd  8(%rdi,%rax), %xmm3
        movapd  %xmm2, %xmm0
        incl    %ecx
        mulpd   %xmm3, %xmm0
        addq    $16, %rax
        addpd   %xmm0, %xmm1
        cmpl    %ecx, %r8d
        ja      .L12
        haddpd  %xmm1, %xmm1
        leal    1(%r10), %eax
        cmpl    %r9d, %r10d
        je      .L13
.L11:
        movslq  %eax, %rcx
        subl    %eax, %r9d
        leaq    -8(,%rcx,8), %rcx
        xorl    %eax, %eax
        addq    %rcx, %rdi
        addq    %rcx, %rsi
        leaq    8(,%r9,8), %rcx
        .p2align 4,,10
        .p2align 3
.L14:
        movsd   (%rsi), %xmm0
        addq    $8, %rax
        mulsd   (%rdi), %xmm0
        addq    $8, %rsi
        addq    $8, %rdi
        addsd   %xmm0, %xmm1
        cmpq    %rcx, %rax
        jne     .L14
.L13:
        movsd   %xmm1, (%rdx)
.L9:
        rep
        ret
.L15:
        xorpd   %xmm1, %xmm1
        movl    $1, %eax
        jmp     .L11
.LFE0:
        .size   s31_, .-s31_


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
  2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
                   ` (6 preceding siblings ...)
  2007-08-14 20:17 ` dorit at gcc dot gnu dot org
@ 2008-12-05 16:27 ` jv244 at cam dot ac dot uk
  2010-04-27 18:25 ` jv244 at cam dot ac dot uk
  8 siblings, 0 replies; 13+ messages in thread
From: jv244 at cam dot ac dot uk @ 2008-12-05 16:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from jv244 at cam dot ac dot uk  2008-12-05 16:25 -------
Timings in 4.4 are essentially unchanged

gfortran -O3 -ffast-math -march=native PR25621.f90:

 default loop   1.2920810000000000
 hand optimized loop  0.86405399999999988

fun enough inverse timings with a recent intel compiler:

 default loop  0.440028000000000
 hand optimized loop   1.26007800000000


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
  2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
                   ` (5 preceding siblings ...)
  2007-07-04 11:24 ` eres at il dot ibm dot com
@ 2007-08-14 20:17 ` dorit at gcc dot gnu dot org
  2008-12-05 16:27 ` jv244 at cam dot ac dot uk
  2010-04-27 18:25 ` jv244 at cam dot ac dot uk
  8 siblings, 0 replies; 13+ messages in thread
From: dorit at gcc dot gnu dot org @ 2007-08-14 20:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from dorit at gcc dot gnu dot org  2007-08-14 20:17 -------
PR32824 discusses a similar issue.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
  2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
                   ` (4 preceding siblings ...)
  2007-07-04 11:14 ` dorit at gcc dot gnu dot org
@ 2007-07-04 11:24 ` eres at il dot ibm dot com
  2007-08-14 20:17 ` dorit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: eres at il dot ibm dot com @ 2007-07-04 11:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from eres at il dot ibm dot com  2007-07-04 11:24 -------
I think c__lsm.63_30 is created during the store motion optimization.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
  2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
                   ` (3 preceding siblings ...)
  2007-07-04  9:23 ` jv244 at cam dot ac dot uk
@ 2007-07-04 11:14 ` dorit at gcc dot gnu dot org
  2007-07-04 11:24 ` eres at il dot ibm dot com
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: dorit at gcc dot gnu dot org @ 2007-07-04 11:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from dorit at gcc dot gnu dot org  2007-07-04 11:14 -------
The vectorizer reports:
pr25621.f90:7: note: reduction used in loop.
pr25621.f90:7: note: Unknown def-use cycle pattern.

because of the seemingly redundant assignment:
c__lsm.63_30 = D.1361_38;
which uses the reduction variable D.1361_38 inside the loop (only to be used
outside the loop). Need to teach the vectorizer to ignore this assignment or
clean it away before the vectorizer.

<bb 4>:
  # prephitmp.57_5 = PHI <storetmp.55_34(3), D.1361_38(5)>
  # i_3 = PHI <1(3), i_40(5)>
  D.1357_31 = i_3 + -1;
  D.1358_33 = (*a_32(D))[D.1357_31];
  D.1359_36 = (*b_35(D))[D.1357_31];
  D.1360_37 = D.1359_36 * D.1358_33;
  D.1361_38 = prephitmp.57_5 + D.1360_37;
  c__lsm.63_30 = D.1361_38;
  i_40 = i_3 + 1;
  if (i_3 == D.1339_28)
    goto <bb 6>;
  else
    goto <bb 5>;


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
  2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
                   ` (2 preceding siblings ...)
  2007-07-04  8:58 ` eres at il dot ibm dot com
@ 2007-07-04  9:23 ` jv244 at cam dot ac dot uk
  2007-07-04 11:14 ` dorit at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: jv244 at cam dot ac dot uk @ 2007-07-04  9:23 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jv244 at cam dot ac dot uk  2007-07-04 09:23 -------
(In reply to comment #5)
> You can also try to tune --param max-variable-expansions-in-unroller. The
> default is to add one expansion (which seems to be the most helpful due to the
> fact that adding more expansions can increase register pressure).
> 

there seems to be no effect from --param max-variable-expansions-in-unroller, I
get the same timings for all values.

I do notice that ifort is twice as fast as gfortran on the original loop on my
machine (core2):

> gfortran -O3 -ffast-math -ftree-vectorize -march=native  -funroll-loops -fvariable-expansion-in-unroller --param max-variable-expansions-in-unroller=4 pr25621.f90
> ./a.out
 default loop  0.868054000000000
 hand optimized loop  0.864054000000000

> ifort -xT -O3 pr25621.f90
pr25621.f90(32) : (col. 0) remark: LOOP WAS VECTORIZED.
pr25621.f90(33) : (col. 0) remark: LOOP WAS VECTORIZED.
pr25621.f90(9) : (col. 2) remark: LOOP WAS VECTORIZED.
> ./a.out
 default loop  0.440027000000000
 hand optimized loop  0.876055000000000

and it looks like ifort vectorizes the first loop (whereas gfortran does not '
unsupported use in stmt'). As a reference :

> gfortran -O3 -ffast-math -ftree-vectorize -march=native  -funroll-loops pr25621.f90
> ./a.out
 default loop   1.29608100000000
 hand optimized loop  0.860054000000000

the code actually used for testing is :

! simple loop
! assume N is even
SUBROUTINE S31(a,b,c,N)
 IMPLICIT NONE
 integer :: N
 real*8  :: a(N),b(N),c
 integer :: i
 c=0.0D0
 DO i=1,N
   c=c+a(i)*b(i)
 ENDDO
END SUBROUTINE

! 'improved' loop
SUBROUTINE S32(a,b,c,N)
 IMPLICIT NONE
 integer :: N
 real*8  :: a(N),b(N),c,tmp
 integer :: i
 c=0.0D0
 tmp=0.0D0
 DO i=1,N,2
    c=c+a(i)*b(i)
    tmp=tmp+a(i+1)*b(i+1)
 ENDDO
 c=c+tmp
END SUBROUTINE

integer, parameter :: N=1024
real*8  :: a(N),b(N),c,tmp,t1,t2

a=0.0_8
b=0.0_8
DO i=1,2000000
   CALL S31(a,b,c,N)
ENDDO

CALL CPU_TIME(t1)
DO i=1,1000000
   CALL S31(a,b,c,N)
ENDDO
CALL CPU_TIME(t2)
write(6,*) "default loop", t2-t1
CALL CPU_TIME(t1)
DO i=1,1000000
   CALL S32(a,b,c,N)
ENDDO
CALL CPU_TIME(t2)
write(6,*) "hand optimized loop",t2-t1
END





-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
  2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
  2006-01-06 14:07 ` [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math) pinskia at gcc dot gnu dot org
  2007-07-03 19:30 ` jv244 at cam dot ac dot uk
@ 2007-07-04  8:58 ` eres at il dot ibm dot com
  2007-07-04  9:23 ` jv244 at cam dot ac dot uk
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: eres at il dot ibm dot com @ 2007-07-04  8:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from eres at il dot ibm dot com  2007-07-04 08:57 -------
You can also try to tune --param max-variable-expansions-in-unroller. The
default is to add one expansion (which seems to be the most helpful due to the
fact that adding more expansions can increase register pressure).


-- 

eres at il dot ibm dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |eres at il dot ibm dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
  2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
  2006-01-06 14:07 ` [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math) pinskia at gcc dot gnu dot org
@ 2007-07-03 19:30 ` jv244 at cam dot ac dot uk
  2007-07-04  8:58 ` eres at il dot ibm dot com
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: jv244 at cam dot ac dot uk @ 2007-07-03 19:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jv244 at cam dot ac dot uk  2007-07-03 19:30 -------
Now, I get the same timings for the hand-optimised loop and compiled loop if I
use the option:

gfortran -O3 -ffast-math -ftree-vectorize -march=native  -funroll-loops
-fvariable-expansion-in-unroller test.f90

whereas -funroll-loops is quite common to add, -fvariable-expansion-in-unroller
is not. Could one have a heuristic that switches that on by default if
-funroll-loops (and -ffast-math) ? For S31 the timings are:

> gfortran -O3 -ffast-math -ftree-vectorize -march=native  -funroll-loops test.f90
> time ./a.out
real    0m6.618s

> gfortran -O3 -ffast-math -ftree-vectorize -march=native  -funroll-loops -fvariable-expansion-in-unroller test.f90
> time ./a.out
real    0m4.457s

so a 50% improvement. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math)
  2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
@ 2006-01-06 14:07 ` pinskia at gcc dot gnu dot org
  2007-07-03 19:30 ` jv244 at cam dot ac dot uk
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-01-06 14:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-06 14:07 -------
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-01-06 14:07:04
               date|                            |
            Summary|Missed optimisation         |Missed optimization when
                   |                            |unrolling the loop
                   |                            |(splitting up the sum) (only
                   |                            |with -ffast-math)


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25621



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-09-23 21:08 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-25621-4@http.gcc.gnu.org/bugzilla/>
2013-03-29 10:07 ` [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math) Joost.VandeVondele at mat dot ethz.ch
2014-03-16 15:54 ` Joost.VandeVondele at mat dot ethz.ch
2014-03-24 11:02 ` iliyapalachev at gmail dot com
2023-09-23 21:08 ` rguenth at gcc dot gnu.org
2006-01-01 12:40 [Bug tree-optimization/25621] New: Missed optimisation jv244 at cam dot ac dot uk
2006-01-06 14:07 ` [Bug tree-optimization/25621] Missed optimization when unrolling the loop (splitting up the sum) (only with -ffast-math) pinskia at gcc dot gnu dot org
2007-07-03 19:30 ` jv244 at cam dot ac dot uk
2007-07-04  8:58 ` eres at il dot ibm dot com
2007-07-04  9:23 ` jv244 at cam dot ac dot uk
2007-07-04 11:14 ` dorit at gcc dot gnu dot org
2007-07-04 11:24 ` eres at il dot ibm dot com
2007-08-14 20:17 ` dorit at gcc dot gnu dot org
2008-12-05 16:27 ` jv244 at cam dot ac dot uk
2010-04-27 18:25 ` jv244 at cam dot ac dot uk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).