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 Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization