[Bug target/40030] New: vector float * vector float + vector float should produce only vmaddfp
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue May 5 18:03:00 GMT 2009
Take:
#define vector __vector
vector float f(vector float a, vector float b, vector float c)
{
return a * b + c;
}
--- CUT ---
Currently for Powerpc (with -O2 -maltivec), we get:
vspltisw 0,-1
vslw 0,0,0
vmaddfp 3,2,3,0
vaddfp 2,3,4
But this should really just produce:
vmaddfp 2,2,3,4
--
Summary: vector float * vector float + vector float should
produce only vmaddfp
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: enhancement
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: powerpc*-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40030
More information about the Gcc-bugs
mailing list