From: Cyrill G. <gor...@op...> - 2012-02-14 22:24:38
|
On Tue, Feb 14, 2012 at 02:17:22PM -0800, H. Peter Anvin wrote: > On 02/14/2012 02:03 PM, Cyrill Gorcunov wrote: > >Hi, while disasm is not yet done, here what I thought about > >assembler part. It's not yet complete but just to share. > > > >At moment the idea is to try to guess if we need to emit > >additional lock prefix for xacquire/release instructions. > > > >(the patch for insns.dat > > > >+; > >+; transactional synchronization extensions > >+XABORT imm8 [i: c6 f8 ib] FUTURE,HLE > >+XBEGIN imm16 [i: c7 f8 iw] FUTURE,HLE > >+XBEGIN imm32 [i: c7 f8 id] FUTURE,HLE > >+XEND void [ 0f 01 d5] FUTURE,HLE > >+XTEST void [ 0f 01 d6] FUTURE,HLE,RTM > >+ > > > >is in my tree already, simply desided to not push it upstream > >until everything is done). > > > > I pushed that one (with fixes) already. > Ah, I forgot to update repo ;) > I would strongly suggest that this should be data-driven; either a > byte code or a flag. ok, i'll think about it, thanks! > > IIRC MOV never requires LOCK, nor does it accept it. > quoting spec: The XRELEASE prefix hint can only be used with the following instructions: - The "MOV mem, reg" (Opcode 88H/89H) and "MOV mem, imm" (Opcode C6H/C7H) instructions. In these cases, the XRELEASE is recognized without the presence of the LOCK prefix. So I seem to miss something obvious? Cyrill |