s390.md ("movhi"): Do not emit extender pattern when loading from a (MEM (ADDRESSOF...
authorUlrich Weigand <uweigand@de.ibm.com>
Sat, 29 Nov 2003 22:31:27 +0000 (22:31 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Sat, 29 Nov 2003 22:31:27 +0000 (22:31 +0000)
* config/s390/s390.md ("movhi"): Do not emit extender pattern
when loading from a (MEM (ADDRESSOF ...)).
("movqi"): Likewise.

From-SVN: r74037

gcc/ChangeLog
gcc/config/s390/s390.md

index 3174814..b68897e 100644 (file)
@@ -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
index 3237f9c..625d4b5 100644 (file)
      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]);
      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]);