From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11854 invoked by alias); 14 Jun 2007 13:39:59 -0000 Received: (qmail 11833 invoked by uid 22791); 14 Jun 2007 13:39:58 -0000 X-Spam-Check-By: sourceware.org Received: from mu-out-0910.google.com (HELO mu-out-0910.google.com) (209.85.134.190) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 14 Jun 2007 13:39:54 +0000 Received: by mu-out-0910.google.com with SMTP id w9so565549mue for ; Thu, 14 Jun 2007 06:39:52 -0700 (PDT) Received: by 10.82.134.12 with SMTP id h12mr3447854bud.1181828391774; Thu, 14 Jun 2007 06:39:51 -0700 (PDT) Received: by 10.82.185.8 with HTTP; Thu, 14 Jun 2007 06:39:51 -0700 (PDT) Message-ID: <40378e40706140639w4253a7c9j6df28775a3a27598@mail.gmail.com> Date: Thu, 14 Jun 2007 13:42:00 -0000 From: "Mohamed Bamakhrama" Reply-To: bamakhrama@gmail.com To: "Andrew Haley" Subject: Re: GCC Assembler Modifiers Cc: gcc-help@gcc.gnu.org In-Reply-To: <18033.17195.831402.821720@zebedee.pink> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <40378e40706140614q5cce06b6tbf21cea41d2e1e6a@mail.gmail.com> <18033.17195.831402.821720@zebedee.pink> X-IsSubscribed: yes 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: 2007-06/txt/msg00193.txt.bz2 Thanks Andrew. One more question, where do I find those .md files? I searched for them but I couldn't find them in my GCC installation directory. Regards, On 6/14/07, Andrew Haley wrote: > Mohamed Bamakhrama writes: > > > I have two questions related to the modifiers that can be used with > > operands in inline assembly. > > 1) What does the 'z' mean when added to the operand modifier (e.g. %z0)? > > From i386.md: > > ;; The special asm out single letter directives following a '%' are: > ;; 'z' mov%z1 would be movl, movw, or movb depending on the mode of > ;; operands[1]. > ;; 'L' Print the opcode suffix for a 32-bit integer opcode. > ;; 'W' Print the opcode suffix for a 16-bit integer opcode. > ;; 'B' Print the opcode suffix for an 8-bit integer opcode. > ;; 'Q' Print the opcode suffix for a 64-bit float opcode. > ;; 'S' Print the opcode suffix for a 32-bit float opcode. > ;; 'T' Print the opcode suffix for an 80-bit extended real XFmode float opcode. > ;; 'J' Print the appropriate jump operand. > ;; > > > 2) In the Input operands list, what is the meaning of 'J' (e.g. ... : > > .... : "Jr" (0) )? > > See 14.8, Register Classes, in the gcc internals manual. > > The machine-dependent operand constraint letters (`I', `J', `K', > ... `P') specify particular ranges of integer values. > > Also, see constraints.md: > > (define_constraint "J" > "Integer constant in the range 0 ... 63, for 64-bit shifts." > (and (match_code "const_int") > (match_test "IN_RANGE (ival, 0, 63)"))) > > Andrew. > -- Mohamed Ahmed Bamakhrama Am Schaeferanger 15, room 035 85764 Oberschleissheim, Germany Email: bamakhra@cs.tum.edu Web: http://home.cs.tum.edu/~bamakhra/ Mobile: +49-160-9349-2711