This is the mail archive of the gcc-patches@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]

Re: ifcvt: cond_exec-like behavior on cc0 machines


On Jul 21, 2003, Richard Henderson <rth@redhat.com> wrote:

> (2) This is false.  The cc0 setter must *must* MUST be the previous
> instruction.

Ok, let's assume that it is.  Two conditions that I remember that I
think may have caused me grief while investigating the use of
cond_exec:

(set (cc0) (reg:M))  ;; tstM

(set (cc0) (compare (reg:M) (reg_or_const:M))) ;; cmpM

IIRC, get_condition() may have failed in a case that had one of
these setting (cc0) before the branch.  I'll have to go back and try
to recreate the condition, though.

> From the point of view of flow, both *ought* to work.

I'd got the impression that cond_exec was fundamentally incompatible
with cc0.  If this is not the case, I'll be more than happy to try to
fix the problems.

> But I'm as yet unconvinced that ifcvt needs to add support for the
> later if its effectively identical to the former.

Agreed.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer


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