On 05/04/2010 09:24 PM, H. Peter Anvin wrote:
I would like to request one change, however. I would like to see the alternatives code to be: movb $0,reg movb $1,reg ... instead of using xor (which has to be padded with NOPs, which is of course pointless since the slot is a fixed size.)
Right.
I would suggest using a byte-sized variable instead of a dword-size variable to save a few bytes, too.
I used a bool, and the code already compiles to a byte mov. Though it could be argued that a word instruction is better since it avoids a false dependency, and allows a preceding instruction that modifies %reg to be executed after the mov instruction.
Once the jump label framework is integrated and has matured, I think we should consider using it to save the mov/test/jump.
IIRC that has an implied unlikely() which isn't suitable here? Perhaps the immediate values patches. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html