https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69161

--- Comment #15 from ktkachov at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #3)
> CCing Jeff and Bernd on this, just to find out what is preferrable.  I'd
> think that using different (non-special) predicate on the instructions where
> it is used on SET_SRC and SET_DEST has some particular mode is desirable,
> but it might cause code quality regressions, if we start rejecting something
> that combiner used to combine fine before (eventhough it created
> questionable to invalid RTL).

I tried this approach and replaced aarch64_comparison_operator with an
equivalent but normal predicate in the places where the mode should matter.
These were the cstore and conditional compare patterns (where we were doing AND
and IOR of comparisons).

This fixed the testcase and doesn't seem to affect codegen on SPEC2006 INT.

So I'll test further down this path

Reply via email to