From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15213 invoked by alias); 8 Apr 2008 16:03:51 -0000 Received: (qmail 15203 invoked by uid 22791); 8 Apr 2008 16:03:51 -0000 X-Spam-Check-By: sourceware.org Received: from smtp102.biz.mail.mud.yahoo.com (HELO smtp102.biz.mail.mud.yahoo.com) (68.142.200.237) by sourceware.org (qpsmtpd/0.31) with SMTP; Tue, 08 Apr 2008 16:03:30 +0000 Received: (qmail 2373 invoked from network); 8 Apr 2008 16:03:28 -0000 Received: from unknown (HELO localhost.localdomain) (wilson@tuliptree.org@69.110.10.37 with plain) by smtp102.biz.mail.mud.yahoo.com with SMTP; 8 Apr 2008 16:03:27 -0000 X-YMail-OSG: 4No2glMVM1k1cCH3GVBD10Iv5fger.QA6FeFFajaVfVxnxZTJZMwCDP06_G3TkHvLS9o1aO5FxkQ0GQy37qY23AYZMYqMo13Tnb2sNYnnYc.uNdvoBg- X-Yahoo-Newman-Property: ymail-3 Message-ID: <47FB974E.1070505@tuliptree.org> Date: Tue, 08 Apr 2008 17:53:00 -0000 From: Jim Wilson User-Agent: Thunderbird 2.0.0.12 (X11/20080226) MIME-Version: 1.0 To: Omar CC: gcc-help@gcc.gnu.org Subject: Re: Understanding Predicate and Constrains References: <178adb870804071349p62932c37h3c67d236a12795b3@mail.gmail.com> In-Reply-To: <178adb870804071349p62932c37h3c67d236a12795b3@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2008-04/txt/msg00103.txt.bz2 Omar wrote: > 1) How '>' really work, am i using it correctly or do I need to use it > with another another constraint (like 'm>')? It is usually used in the same alternative as another constraint such as 'm' or 'o', but I'm not sure if that is required. Most gcc internals stuff like this is not well documented. You just try it, and if it works fine, if it doesn't, then change it. > 1.1) Which file should I load while debugging to understand how > constrains are being use? Constraints are only used by the register allocation passes, primarily regclass and reload. > 2) How I limit the 'i' constraint so that only constants below or > equal to 255 are allowed? Depends on the gcc version. It current sources, you want to define a $target/constraints.md file that has a (define_contraint "I" ...) pattern. See any target for an example. You can't redefine what 'i' means. That is reserved. See the "Constraints" section of the gcc internals manual. Jim