This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/39717] [cond-optab] CSE does not put subregs into COMPAREs on many CC0 machines
- From: "bonzini at gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Apr 2009 08:04:46 -0000
- Subject: [Bug target/39717] [cond-optab] CSE does not put subregs into COMPAREs on many CC0 machines
- References: <bug-39717-7849@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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