[Bug target/32708] _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Jul 10 19:38:00 GMT 2007
------- Comment #6 from ubizjak at gmail dot com 2007-07-10 19:38 -------
(In reply to comment #0)
> long2vector() should use a simple MOVQ instruction the way int2vector() uses
> MOVD. It appears that the reason for the stack access is that the original code
> used a reg64->mem->mm->xmm path, which the optimizer partly noticed;
> gcc-4.3-20070617 leaves the full path in place.
A note to the reporter: unless a noticeable performance regression is found,
missed-optimization bugs should be reported vs. mainline gcc. Usually, mainline
sources implement new infrastructure to support new optimizations, and this
infrastructure is rarely backported to release branches. Sometimes requested
optimization is already implemented in the mainline, again with little or no
chances of being backported.
If you have a particular (complex) application, you are most welcomed to try to
compile it with latest gcc sources. This way, compile-time, runtime and
performance issues can be fixed early in gcc development cycle, benefiting your
application, as well as gcc development.
Otherwise, the patch is committed to mainline. Not a regression on branches.
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32708
More information about the Gcc-bugs
mailing list