Re: [PATCH 02/10] x86, asm: use bool for bitops and other assembly outputs

From: H. Peter Anvin
Date: Wed Jun 08 2016 - 05:33:42 EST


On 06/08/16 02:20, Ingo Molnar wrote:
>
> Yeah, absolutely. I hate 'bool' with a vengence but if 'int' generates worse code
> with modern compilers then I'm not going to argue for worse code. Would a 'char'
> return type be very weird?
>

Yes. I have to admit I don't share your hatred for "bool" -- it gives
the compiler a fairly crucial bit of information about what the possible
values are for a certain piece of data.

Upcasting to char loses that, and may case gcc to manifest the value as
an integer instead of retaining it in the flags. It is, however, less
likely to cause gcc to then try to widen the value to word size (which
is an extra instruction on x86), but moving the value out of and back
into the flags register is the big cost.

-hpa