Re: [tip:core/types] bitops: Add sign_extend8(), 16 and 64 functions

From: H. Peter Anvin
Date: Wed Jan 21 2015 - 15:23:54 EST


On 01/19/2015 02:04 AM, Peter Zijlstra wrote:
> On Mon, Jan 19, 2015 at 07:54:22AM +1200, Linus Torvalds wrote:
>> Why?
>>
>> The 8- and 16- bit versions are the same as the 32-bit one. This seems
>> pointless. If you want something where the sign is in bit 3, they all
>> return the same value, just the return type differs, but that's really a
>> *caller* thing, no?
>
> Even for the 8bit ones? Since we have the *H and *L register we have
> more 8 bit regs than we have 16/32 bit regs and it might just be worth
> it.

Fewer, actually. gcc doesn't really use the H registers much, and
instead considers 8-bit values to occupy the whole register, but that
means only four are available in 32-bit mode.

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/