[Bug target/39717] [cond-optab] CSE does not put subregs into COMPAREs on many CC0 machines

bonzini at gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Apr 16 08:05:00 GMT 2009



------- Comment #2 from bonzini at gnu dot org  2009-04-16 08:04 -------
Subject: Re:  [cond-optab] CSE does not put subregs into
 COMPAREs on many CC0 machines

> Is this a cond-optab regression or "just" an observation?

Yes, it causes extra moves on code using unions.  Where we have

   r20:SI=r19:SF#0    where X#0 = (subreg X 0)
   cc0=r20:SI

is now

   r20:SI=r19:SF#0
   cc0=cmp(r20:SI,0)

and CSE is somehow not able to turn it into

   cc0=cmp(r19:SF#0,0)


-- 


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



More information about the Gcc-bugs mailing list