This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/42682] floating point optimizations needlessly shuffle xmm registers
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Jan 2010 17:42:41 -0000
- Subject: [Bug c/42682] floating point optimizations needlessly shuffle xmm registers
- References: <bug-42682-18652@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from ubizjak at gmail dot com 2010-01-10 17:42 -------
(In reply to comment #0)
> Furthermore, math-library function fminf()/fmaxf() (and fmin()/fmax() for
> double) would benefit from map to intrinsic minss/maxss processing. Now they
> cause math library calls, where they are implemented as minss/maxss.
Use -ffast-math (which I recommend for everything that processes data from the
real world).
> Another optimization adventure would be to be able to unroll that loop, and use
> packed float values in xmm registers to do up to 4 operations in parallel.
> minreg/maxreg/sumreg could be described at C level as:
> float minreg[4];
> and code would have an explicit loop from 0 to 3 processing sample sets.
Done in 4.5. Try with -O2 -ffast-math -ftree-vectorize.
>
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |WORKSFORME
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42682