This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/32708] _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient
- 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 Jul 2007 19:38:42 -0000
- Subject: [Bug target/32708] _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient
- References: <bug-32708-14600@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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