From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24760 invoked by alias); 14 Mar 2008 14:51:22 -0000 Received: (qmail 24751 invoked by uid 22791); 14 Mar 2008 14:51:21 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.33.17) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 14 Mar 2008 14:51:02 +0000 Received: from zps78.corp.google.com (zps78.corp.google.com [172.25.146.78]) by smtp-out.google.com with ESMTP id m2EEoodi016880; Fri, 14 Mar 2008 14:50:51 GMT Received: from smtp.corp.google.com (spacemonkey2.corp.google.com [192.168.120.114]) by zps78.corp.google.com with ESMTP id m2EEonpZ031644 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 14 Mar 2008 07:50:49 -0700 Received: from localhost.localdomain.google.com (69-36-227-131.cust.layer42.net [69.36.227.131] (may be forged)) (authenticated bits=0) by smtp.corp.google.com (8.13.8/8.13.8) with ESMTP id m2EEoidE022152 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 14 Mar 2008 06:50:47 -0800 To: Kenneth Zadeck Cc: gcc-patches , "Bonzini\, Paolo" , rsandifo@nildram.co.uk Subject: Re: [trunk] Addition to subreg section of rtl.text. References: <47DA8A3E.7060002@naturalbridge.com> <87iqzpz7vj.fsf@firetop.home> From: Ian Lance Taylor Date: Fri, 14 Mar 2008 14:51:00 -0000 In-Reply-To: <87iqzpz7vj.fsf@firetop.home> (Richard Sandiford's message of "Fri\, 14 Mar 2008 14\:40\:32 +0000") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2008-03/txt/msg00895.txt.bz2 Richard Sandiford writes: >> The other use of @code{subreg} is to extract the individual registers of >> a multi-register value. Machine modes such as @code{DImode} and >> @code{TImode} can indicate values longer than a word, values which >> usually require two or more consecutive registers. To access one of the >> registers, use a @code{subreg} with mode @code{SImode} and a >> -@var{bytenum} offset that says which register. >> +@var{bytenum} offset that says which register. In this case, the >> +@var(bytenum) must align the outer value to a word boundary if the inner > ^^^^^^^^^ > Nit: {bytenum} > >> +register is a psuedo or to a register boundary if the inner register is >> +a hard register. > > As I understand it, this is only true if the _outer_ register is > word-sized or bigger. You can have (subreg:QI (reg:DI ...) 3) on > a 32-bit big-endian target, for example. True in general, but that is not the specific case addressed in this paragraph, that of extracting the individual registers of a multi-register value. But perhaps this could be made more clear. Ian