From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17280 invoked by alias); 16 Dec 2007 17:17:22 -0000 Received: (qmail 17269 invoked by uid 22791); 16 Dec 2007 17:17:22 -0000 X-Spam-Check-By: sourceware.org Received: from dair.pair.com (HELO dair.pair.com) (209.68.1.49) by sourceware.org (qpsmtpd/0.31) with SMTP; Sun, 16 Dec 2007 17:17:15 +0000 Received: (qmail 51067 invoked by uid 20157); 16 Dec 2007 17:17:13 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 16 Dec 2007 17:17:13 -0000 Date: Sun, 16 Dec 2007 17:18:00 -0000 From: Hans-Peter Nilsson To: "'Balaji V. Iyer'" cc: gcc@gcc.gnu.org, openrisc@opencores.org Subject: RE: Help with another constraint In-Reply-To: <20071216091307.F82190@dair.pair.com> Message-ID: <20071216120328.H62417@dair.pair.com> References: <002601c83c7c$b3763960$33160e98@ece.ncsu.edu> <000601c83cbf$0c887a30$2e08a8c0@CAM.ARTIMI.COM> <20071216091307.F82190@dair.pair.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2007-12/txt/msg00469.txt.bz2 On Sun, 16 Dec 2007, Hans-Peter Nilsson wrote: > On Wed, 12 Dec 2007, Dave Korn wrote: > > > On 12 December 2007 12:14, Revital1 Eres wrote: > > > > > It seems that the pair m and I is missing (which indicate the memory = > > > constant instruction). > > > > So doesn't the question then become "Why isn't reload reloading the constant > > into a register"? > > Yes. And the answer AFAIK is "because it doesn't see a way to > move a constant into a register; it understands "r", not "p" and > "q". I think I have to correct myself; register allocation and reload *should* understand p and q as register constraints, given e.g. a correct REG_CLASS_FROM_LETTER definition and correct regclass macros. The latter were not disclosed and are usually a source of hard-to-find errors. Besides, if you can't directly move between p and q (as your constraints indicate) then as Rask says, you also need to tell GCC through the secondary-reload mechanisms. I can't help but thinking the best suggetion is for bviyer to let gdb answer the question by stepping through cc1 instead of relying on indirect debugging. That's what people do. ;) brgds, H-P