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

--- Comment #22 from Uros Bizjak <ubizjak at gmail dot com> 2011-11-10 19:05:29 
UTC ---
(In reply to comment #21)

> But this is not quite true either.  genpreds will *omit* generation of
> the explicit test (mode == VOIDmode || mode == GET_MODE (op)) if the
> predicate has as a sub-test a call to one of the standard predicates,
> arguing that "the standard predicate already did the test, so we don't
> have to repeat it".  But the test performed by the standard predicates
> *does* comply with the more elaborate rule spelled out in the docs ...

Yeah, this is also what I thought at the first sight. But please don't forget
that additional c-code test effectively creates

(and (match_operand (...)
     (match_test (call to c-code)))

and this construct will _always_ force generation of mode checks.

Reply via email to