diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2003-11-29 22:31:27 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2003-11-29 22:31:27 +0000 |
commit | d71a8c3b200b60a796c260e6a3bd82d3435d9231 (patch) | |
tree | 637e8bfec89cfd5c1ba0a2258d8c5d2afdfbff91 | |
parent | 65f0edec4b67b30d058bee3a16ac8cfdbb8eabd6 (diff) | |
download | gcc-d71a8c3b200b60a796c260e6a3bd82d3435d9231.zip gcc-d71a8c3b200b60a796c260e6a3bd82d3435d9231.tar.gz gcc-d71a8c3b200b60a796c260e6a3bd82d3435d9231.tar.bz2 |
s390.md ("movhi"): Do not emit extender pattern when loading from a (MEM (ADDRESSOF ...)).
* config/s390/s390.md ("movhi"): Do not emit extender pattern
when loading from a (MEM (ADDRESSOF ...)).
("movqi"): Likewise.
From-SVN: r74037
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/s390/s390.md | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3174814..b68897e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-11-29 Ulrich Weigand <uweigand@de.ibm.com> + + * config/s390/s390.md ("movhi"): Do not emit extender pattern + when loading from a (MEM (ADDRESSOF ...)). + ("movqi"): Likewise. + 2003-11-29 Joseph S. Myers <jsm@polyomino.org.uk> PR c/10333 diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 3237f9c..625d4b5 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -1313,7 +1313,8 @@ always sign-extends (at least) to SImode. */ if (optimize && !no_new_pseudos && register_operand (operands[0], VOIDmode) - && memory_operand (operands[1], VOIDmode)) + && GET_CODE (operands[1]) == MEM + && GET_CODE (XEXP (operands[1], 0)) != ADDRESSOF) { rtx tmp = gen_reg_rtx (SImode); rtx ext = gen_rtx_SIGN_EXTEND (SImode, operands[1]); @@ -1360,7 +1361,8 @@ is just as fast as a QImode load. */ if (TARGET_ZARCH && optimize && !no_new_pseudos && register_operand (operands[0], VOIDmode) - && memory_operand (operands[1], VOIDmode)) + && GET_CODE (operands[1]) == MEM + && GET_CODE (XEXP (operands[1], 0)) != ADDRESSOF) { rtx tmp = gen_reg_rtx (word_mode); rtx ext = gen_rtx_ZERO_EXTEND (word_mode, operands[1]); |