[PATCH] Power/GCC: Subword atomic operation endianness check bug fix

Alan Modra amodra@gmail.com
Wed Jul 2 12:34:00 GMT 2014


On Wed, Jul 02, 2014 at 11:05:23AM +0100, Maciej W. Rozycki wrote:
> As it 
> happens both macros have the same value for the Power target

Thanks!  Looks good to me.  As you note above it is effectively a
documentation fix.

> --- gcc-fsf-trunk-quilt.orig/gcc/config/rs6000/rs6000.c	2014-06-10 21:46:36.628975329 +0100
> +++ gcc-fsf-trunk-quilt/gcc/config/rs6000/rs6000.c	2014-06-11 16:35:08.917560846 +0100
> @@ -19891,7 +19891,7 @@ rs6000_adjust_atomic_subword (rtx orig_m
>    shift = gen_reg_rtx (SImode);
>    addr = gen_lowpart (SImode, addr);
>    emit_insn (gen_rlwinm (shift, addr, GEN_INT (3), GEN_INT (shift_mask)));
> -  if (WORDS_BIG_ENDIAN)
> +  if (BYTES_BIG_ENDIAN)
>      shift = expand_simple_binop (SImode, XOR, shift, GEN_INT (shift_mask),
>  			         shift, 1, OPTAB_LIB_WIDEN);
>    *pshift = shift;

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Gcc-patches mailing list