From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4551 invoked by alias); 14 May 2003 14:20:13 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 4527 invoked from network); 14 May 2003 14:20:11 -0000 Received: from unknown (HELO e2.ny.us.ibm.com) (32.97.182.102) by sources.redhat.com with SMTP; 14 May 2003 14:20:11 -0000 Received: from d12relay02.de.ibm.com (d12relay02.de.ibm.com [9.165.215.23]) by e2.ny.us.ibm.com (8.12.9/8.12.2) with ESMTP id h4EEK99X112864; Wed, 14 May 2003 10:20:10 -0400 Received: from d12ml028.de.ibm.com (d12ml028_cs0 [9.165.223.24]) by d12relay02.de.ibm.com (8.12.9/NCO/VER6.5) with ESMTP id h4EEK8DJ027044; Wed, 14 May 2003 16:20:08 +0200 Importance: Normal Sensitivity: Subject: Re: Different addressing modes for loads and stores? To: fcook@hotmail.com Cc: gcc@gcc.gnu.org Message-ID: From: "Ulrich Weigand" Date: Wed, 14 May 2003 14:20:00 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii X-SW-Source: 2003-05/txt/msg01408.txt.bz2 Fred Cook wrote: >My loads support base+offset and base+register addressing while stores >only have base+offset addressing. My GO_IF_LEGITIMATE_ADDRESS macro >accepts both addressing modes. Now the question is how to prevent that >the base+register mode is used for stores. For that changed the movsi >pattern to: [snip] >and I used the EXTRA_CONSTRAINT macro to accept only base+offset >if the letter argument is 'S'. However, this does not lead to what >I wanted to achieve. "=r,Sm" or "=r,mS" also does not work. We've had similar problems on s390 with different addressing modes. To fix this, I've added the EXTRA_MEMORY_CONSTRAINT feature; this should do what you want ... Mit freundlichen Gruessen / Best Regards Ulrich Weigand -- Dr. Ulrich Weigand Linux for S/390 Design & Development IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com