diff options
author | Alan Modra <amodra@gmail.com> | 2014-05-23 10:47:41 +0930 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2014-05-23 10:47:41 +0930 |
commit | ea9364db15e72bd9741bce7eab6bfcc1f296810f (patch) | |
tree | db68e700351648785a0de9047bd9fb27efaa626f /gcc | |
parent | bb3d4010c62b5729d33412141a85945950cc59aa (diff) | |
download | gcc-ea9364db15e72bd9741bce7eab6bfcc1f296810f.tar.gz |
re PR target/61231 (bootstrap comparision failure on powerpc64le-linux-gnu)
PR target/61231
* config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
* config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
Use "Y" constraint rather than "m".
From-SVN: r210835
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 3 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 4 |
3 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0dd354fb114..5676c0313df 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-05-23 Alan Modra <amodra@gmail.com> + + PR target/61231 + * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode. + * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell): + Use "Y" constraint rather than "m". + 2014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org> * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index f58ccd0936c..d8098a73e0a 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -6124,7 +6124,8 @@ mem_operand_gpr (rtx op, enum machine_mode mode) return false; extra = GET_MODE_SIZE (mode) - UNITS_PER_WORD; - gcc_assert (extra >= 0); + if (extra < 0) + extra = 0; if (GET_CODE (addr) == LO_SUM) /* For lo_sum addresses, we must allow any offset except one that diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 300bd3698d6..03113657873 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -745,7 +745,7 @@ (define_insn "*extendsidi2_lfiwax" [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r,??wm,!wl,!wu") - (sign_extend:DI (match_operand:SI 1 "lwa_operand" "m,r,r,Z,Z")))] + (sign_extend:DI (match_operand:SI 1 "lwa_operand" "Y,r,r,Z,Z")))] "TARGET_POWERPC64 && TARGET_LFIWAX" "@ lwa%U1%X1 %0,%1 @@ -758,7 +758,7 @@ (define_insn "*extendsidi2_nocell" [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r") - (sign_extend:DI (match_operand:SI 1 "lwa_operand" "m,r")))] + (sign_extend:DI (match_operand:SI 1 "lwa_operand" "Y,r")))] "TARGET_POWERPC64 && rs6000_gen_cell_microcode && !TARGET_LFIWAX" "@ lwa%U1%X1 %0,%1 |