From d71a8c3b200b60a796c260e6a3bd82d3435d9231 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Sat, 29 Nov 2003 22:31:27 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ 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 + + * config/s390/s390.md ("movhi"): Do not emit extender pattern + when loading from a (MEM (ADDRESSOF ...)). + ("movqi"): Likewise. + 2003-11-29 Joseph S. Myers 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]); -- 2.7.4