This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/32708] _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]