+2013-06-11 Anton Blanchard <anton@samba.org>
+
+ * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Calculate
+ correct shift value in little-endian mode.
+
2013-06-11 Jakub Jelinek <jakub@redhat.com>
PR target/56564
shift = gen_reg_rtx (SImode);
addr = gen_lowpart (SImode, addr);
emit_insn (gen_rlwinm (shift, addr, GEN_INT (3), GEN_INT (shift_mask)));
- shift = expand_simple_binop (SImode, XOR, shift, GEN_INT (shift_mask),
- shift, 1, OPTAB_LIB_WIDEN);
+ if (WORDS_BIG_ENDIAN)
+ shift = expand_simple_binop (SImode, XOR, shift, GEN_INT (shift_mask),
+ shift, 1, OPTAB_LIB_WIDEN);
*pshift = shift;
/* Mask for insertion. */