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 tree-optimization/16962] loop unrolling with x86-64 asm not efficient


------- Additional Comments From falk at debian dot org  2004-08-24 21:06 -------
Looking more closely, my Alpha example actually generates reasonable code
now. As to your assembly: I can't really read i386 assembly, but it seems it
modifies something without telling gcc, so it is invalid. To improve
performance, you should avoid (%x) and use a "m" constraint, and not clobber
hard regs but use "=r" on temp vars. Something like:

asm("..." : "=m"(*out) :"r"(x), "m"(*y));

With this, I get entirely reasonable code on the lno-branch, so closing.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16962


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