From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2711 invoked by alias); 15 Jan 2012 10:08:23 -0000 Received: (qmail 2700 invoked by uid 22791); 15 Jan 2012 10:08:22 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_VL X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 15 Jan 2012 10:08:08 +0000 From: "pinskia at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug inline-asm/51863] invlpg with -masm=intel generates memory operand size error in assembly stage Date: Sun, 15 Jan 2012 11:26:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: inline-asm X-Bugzilla-Keywords: X-Bugzilla-Severity: minor X-Bugzilla-Who: pinskia at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Status Resolution Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-01/txt/msg01661.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51863 Andrew Pinski changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID --- Comment #4 from Andrew Pinski 2012-01-15 10:08:04 UTC --- (In reply to comment #3) > > What GCC is doing is correct in that it outputs the byte/word/dword > > correctly for -masm=intel. > But why for -masm=intel and not for -masm=att (the default)? Because that is how the constraint works. In intel style, size prefix is part of the memory and not the instruction. That is mov with the size being in the operand vs mov[lwqb] which says the size.