public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/43184] New: gcc could not vectorize floating point reduction statements
@ 2010-02-25 23:54 changpeng dot fang at amd dot com
2010-02-25 23:58 ` [Bug middle-end/43184] " pinskia at gcc dot gnu dot org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: changpeng dot fang at amd dot com @ 2010-02-25 23:54 UTC (permalink / raw)
To: gcc-bugs
gcc 4.5 could not vectorize floating point reductions.
float sum(float a[], int n) {
int i;
float total=0.0;
for(i=0; i< n; i++)
total += a[i];
return total;
}
"gcc -O3 -fdump-tree-vect-all" shows:
foo.c:4: note: Unsupported pattern.
foo.c:4: note: not vectorized: unsupported use in stmt.
foo.c:4: note: unexpected pattern.
foo.c:1: note: vectorized 0 loops in function.
I have verified that gcc can vectorize integer reduction, but not float and
double.
--
Summary: gcc could not vectorize floating point reduction
statements
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: changpeng dot fang at amd dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43184
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/43184] gcc could not vectorize floating point reduction statements
2010-02-25 23:54 [Bug middle-end/43184] New: gcc could not vectorize floating point reduction statements changpeng dot fang at amd dot com
@ 2010-02-25 23:58 ` pinskia at gcc dot gnu dot org
2010-02-26 0:28 ` changpeng dot fang at amd dot com
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-02-25 23:58 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2010-02-25 23:57 -------
>gcc 4.5 could not vectorize floating point reductions.
Yes it can; add -ffast-math. floating point reductions need -ffast-math as it
can change the results in some cases (negative zero and I think clamping cases
too).
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43184
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/43184] gcc could not vectorize floating point reduction statements
2010-02-25 23:54 [Bug middle-end/43184] New: gcc could not vectorize floating point reduction statements changpeng dot fang at amd dot com
2010-02-25 23:58 ` [Bug middle-end/43184] " pinskia at gcc dot gnu dot org
@ 2010-02-26 0:28 ` changpeng dot fang at amd dot com
2010-02-26 0:47 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: changpeng dot fang at amd dot com @ 2010-02-26 0:28 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from changpeng dot fang at amd dot com 2010-02-26 00:28 -------
Subject: RE: gcc could not vectorize floating point
reduction statements
Thanks for pointing this out. Actually I am working on a fortran program and
found the
the reduction statement. The fortran code can not be vectorized even with
-ffast-math.
Do you think this is the problem of fortran frontend? Thanks, -- Changpeng
c%3.1
subroutine s311 (ntimes,ld,n,ctime,dtime,a,b,c,d,e,aa,bb,cc)
c
c reductions
c sum reduction
c
integer ntimes, ld, n, i, nl
double precision a(n), b(n), c(n), d(n), e(n), aa(ld,n),
+ bb(ld,n), cc(ld,n)
double precision chksum, sum
real t1, t2, second, ctime, dtime
call init(ld,n,a,b,c,d,e,aa,bb,cc,'s311 ')
t1 = second()
do 1 nl = 1,ntimes
sum = 0.d0
do 10 i = 1,n
sum = sum + a(i)
10 continue
call dummy(ld,n,a,b,c,d,e,aa,bb,cc,sum)
1 continue
t2 = second() - t1 - ctime - ( dtime * float(ntimes) )
chksum = sum
call check (chksum,ntimes*n,n,t2,'s311 ')
return
end
________________________________________
From: pinskia at gcc dot gnu dot org [gcc-bugzilla@gcc.gnu.org]
Sent: Thursday, February 25, 2010 5:57 PM
To: Fang, Changpeng
Subject: [Bug middle-end/43184] gcc could not vectorize floating point
reduction statements
------- Comment #1 from pinskia at gcc dot gnu dot org 2010-02-25 23:57
-------
>gcc 4.5 could not vectorize floating point reductions.
Yes it can; add -ffast-math. floating point reductions need -ffast-math as it
can change the results in some cases (negative zero and I think clamping cases
too).
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43184
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43184
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/43184] gcc could not vectorize floating point reduction statements
2010-02-25 23:54 [Bug middle-end/43184] New: gcc could not vectorize floating point reduction statements changpeng dot fang at amd dot com
2010-02-25 23:58 ` [Bug middle-end/43184] " pinskia at gcc dot gnu dot org
2010-02-26 0:28 ` changpeng dot fang at amd dot com
@ 2010-02-26 0:47 ` pinskia at gcc dot gnu dot org
2010-02-26 13:20 ` manu at gcc dot gnu dot org
2010-02-26 13:21 ` manu at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-02-26 0:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from pinskia at gcc dot gnu dot org 2010-02-26 00:47 -------
t.f:15: note: not vectorized: unsupported use in stmt.
(In reply to comment #2)
> Subject: RE: gcc could not vectorize floating point
> reduction statements
>
> Thanks for pointing this out. Actually I am working on a fortran program and
> found the
> the reduction statement.
And that is PR 32824 (which I filed awhile back).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43184
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/43184] gcc could not vectorize floating point reduction statements
2010-02-25 23:54 [Bug middle-end/43184] New: gcc could not vectorize floating point reduction statements changpeng dot fang at amd dot com
` (2 preceding siblings ...)
2010-02-26 0:47 ` pinskia at gcc dot gnu dot org
@ 2010-02-26 13:20 ` manu at gcc dot gnu dot org
2010-02-26 13:21 ` manu at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: manu at gcc dot gnu dot org @ 2010-02-26 13:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from manu at gcc dot gnu dot org 2010-02-26 13:20 -------
So this is not invalid...
--
manu at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |manu at gcc dot gnu dot org
Status|RESOLVED |UNCONFIRMED
Resolution|INVALID |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43184
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/43184] gcc could not vectorize floating point reduction statements
2010-02-25 23:54 [Bug middle-end/43184] New: gcc could not vectorize floating point reduction statements changpeng dot fang at amd dot com
` (3 preceding siblings ...)
2010-02-26 13:20 ` manu at gcc dot gnu dot org
@ 2010-02-26 13:21 ` manu at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: manu at gcc dot gnu dot org @ 2010-02-26 13:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from manu at gcc dot gnu dot org 2010-02-26 13:20 -------
,,. but a duplicate
*** This bug has been marked as a duplicate of 32824 ***
--
manu at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43184
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-02-26 13:21 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-25 23:54 [Bug middle-end/43184] New: gcc could not vectorize floating point reduction statements changpeng dot fang at amd dot com
2010-02-25 23:58 ` [Bug middle-end/43184] " pinskia at gcc dot gnu dot org
2010-02-26 0:28 ` changpeng dot fang at amd dot com
2010-02-26 0:47 ` pinskia at gcc dot gnu dot org
2010-02-26 13:20 ` manu at gcc dot gnu dot org
2010-02-26 13:21 ` manu at gcc dot gnu dot org
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).