On 11/17/2010 11:05 AM, Jeremy Fitzhardinge wrote:
> On 11/17/2010 12:58 AM, Avi Kivity wrote:
> >>  Actually in this case I'm pretty sure there's already a "set bit"
> >>  function which will do the job.  set_bit(), I guess, though it takes a
> >>  bit number rather than a mask...
> >>
> >
> >
> >  set_bit() operates on a long, while the intel manuals recommend
> >  against operating on operands of different size, especially with
> >  locked operations.  I think newer processors have more relaxed
> >  requirements, though.
>
> Despite its prototype, set_bit() is pretty specifically using "orb" for
> a the constant case, or bts otherwise (I don't know what size memory
> operation bts is considered to generate).
>

Perhaps that should be fixed.

bts will take its size from the argument, so it will be a btsq on 
x86_64.  AFAICT, the only visible difference between btsl and btsq is a 
page fault if the last four bytes of the operand are in an unmapped page.

-- 
error compiling committee.c: too many arguments to function

_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to