]> git.ipfire.org Git - thirdparty/gcc.git/commit
rs6000: Fix PR67344
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Aug 2015 19:32:28 +0000 (19:32 +0000)
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Aug 2015 19:32:28 +0000 (19:32 +0000)
commit0eabf5805ec5e10b557bfef804f41c1bb2505a8f
treebc7d0e3041bce9660c62aeee3533d125ebc0bab7
parentef53579721aed335c7f7b6c9a8fef38dcdfd169b
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  <segher@kernel.crashing.org>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227182 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/rs6000.md