From mboxrd@z Thu Jan 1 00:00:00 1970 From: adam8157@gmail.com (Adam Lee) Date: Mon, 7 Mar 2016 10:51:58 +0800 Subject: What does %P1 mean in gcc inline assembly? In-Reply-To: References: <37CB08C4-29C1-4762-9354-F3EDCEC57820@gmail.com> Message-ID: <20160307025158.GB1158@rmbp> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On Sat, Mar 05, 2016 at 11:37:21AM +0800, ?? wrote: > > On Mar 4, 2016, at 11:59 PM, Dave Tian wrote: > > This ?P? is used to make gcc happy and work. > Without ?P?, this inline would be interpreted as: > leal $-512(%esp), %eax > With ?P?, this inline is the thing we really want: > leal -512(%esp), %eax > > Eventually, my gcc 4.9.2 does not compile with ?P? is missing. I am not > sure if this is still the case for newer gcc (5/6). But you get the point. > > -daveti > > Thank you for your detailed answer ! > > By the way? If someone have the problems alike, I suggest them to write some > inline assembly and check the compiler?s assembly output. Didn't get different outputs here, do you have updates? -- Adam Lee http://adam8157.info