diff options
author | Aaron Sawdey <acsawdey@linux.vnet.ibm.com> | 2016-09-24 18:14:21 +0000 |
---|---|---|
committer | Aaron Sawdey <acsawdey@gcc.gnu.org> | 2016-09-24 13:14:21 -0500 |
commit | 33a44e1580ac6e4eeda74ddde429c74beea442d3 (patch) | |
tree | 0d5a07926dee5425c784e8bbeec3167824104220 | |
parent | eb657a49265a488e6ffc84da3fba78999f118901 (diff) | |
download | gcc-33a44e1580ac6e4eeda74ddde429c74beea442d3.zip gcc-33a44e1580ac6e4eeda74ddde429c74beea442d3.tar.gz gcc-33a44e1580ac6e4eeda74ddde429c74beea442d3.tar.bz2 |
rs6000.c (expand_block_compare, [...]): Change TARGET_LITTLE_ENDIAN to !BYTES_BIG_ENDIAN.
2016-09-24 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (expand_block_compare, do_load_for_compare):
Change TARGET_LITTLE_ENDIAN to !BYTES_BIG_ENDIAN.
From-SVN: r240466
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2600e14..ab5e5ad 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-09-24 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> + + * config/rs6000/rs6000.c (expand_block_compare, do_load_for_compare): + Change TARGET_LITTLE_ENDIAN to !BYTES_BIG_ENDIAN. + 2016-09-42 David Edelsohn <dje.gcc@gmail.com> * configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 7c8a82f..5d189fc 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -18482,7 +18482,7 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode) case HImode: { rtx src = mem; - if (TARGET_LITTLE_ENDIAN) + if (!BYTES_BIG_ENDIAN) { src = gen_reg_rtx (HImode); emit_insn (gen_bswaphi2 (src, mem)); @@ -18493,7 +18493,7 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode) case SImode: { rtx src = mem; - if (TARGET_LITTLE_ENDIAN) + if (!BYTES_BIG_ENDIAN) { src = gen_reg_rtx (SImode); emit_insn (gen_bswapsi2 (src, mem)); @@ -18502,7 +18502,7 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode) } break; case DImode: - if (TARGET_LITTLE_ENDIAN) + if (!BYTES_BIG_ENDIAN) emit_insn (gen_bswapdi2 (reg, mem)); else emit_insn (gen_movdi (reg, mem)); @@ -18521,7 +18521,7 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode) case HImode: { rtx src = mem; - if (TARGET_LITTLE_ENDIAN) + if (!BYTES_BIG_ENDIAN) { src = gen_reg_rtx (HImode); emit_insn (gen_bswaphi2 (src, mem)); @@ -18530,7 +18530,7 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode) break; } case SImode: - if (TARGET_LITTLE_ENDIAN) + if (!BYTES_BIG_ENDIAN) emit_insn (gen_bswapsi2 (reg, mem)); else emit_insn (gen_movsi (reg, mem)); @@ -18667,7 +18667,7 @@ expand_block_compare (rtx operands[]) /* If we have an LE target without ldbrx and word_mode is DImode, then we must avoid using word_mode. */ - int word_mode_ok = !(TARGET_LITTLE_ENDIAN && !TARGET_LDBRX + int word_mode_ok = !(!BYTES_BIG_ENDIAN && !TARGET_LDBRX && word_mode == DImode); /* Strategy phase. How many ops will this take and should we expand it? */ |