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

--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Author: segher
Date: Tue Aug 25 19:32:28 2015
New Revision: 227182

URL: https://gcc.gnu.org/viewcvs?rev=227182&root=gcc&view=rev
Log:
rs6000: Fix PR67344

The "*and<mode>3_imm_dot_shifted" pattern is a define_insn_and_split,
like most "dot" patterns: if its output is not assigned cr0 but some
other cr reg, it splits to a non-dot insn and a compare.

Unfortunately that non-dot insn will clobber cr0 as well.  We could
add another clobber (with "=X,x"), but then that second alternative
is never useful; instead, just remove that second alternative.


2015-08-25  Segher Boessenkool  <seg...@kernel.crashing.org>

        PR target/67344
        * config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
        a define_insn, remove second alternative.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/rs6000.md

Reply via email to