[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] linux/x86: convert 'cpu' (and a few other)variables to unsigned
>>> Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> 18.01.08 17:16 >>> >Jan Beulich writes ("[Xen-devel] [PATCH] linux/x86: convert 'cpu' (and a few >other) variables to unsigned"): >> .. producing better code for x86-64. >> >> As usual, written and tested on 2.6.24-rc7 and made apply to the 2.6.18 >> tree without further testing. > >In what way does this produce better code for x86-64 ? When signed int is used as array index or in pointer arithmetic, the compiler has to insert an explicit, unconditional sign extension operation, whereas in many cases zero extension is implicit by preceding operations or can be done with a 32-bit move (which doesn't require a REX prefix and thus results in [statisitically] half a byte shorter instructions). >Normally it's IMO best practice to avoid `unsigned' other than for >bitfields, clock arithmetic, and the like, because the behaviour of >unsigned in the presence of subtraction and comparision is often >surprising. I would disagree here, but it's certainly a personal thing what's considered surprising. Regardless of this personal aspect, the x86 Linux maintainers are actively doing the same thing (or are respectively asking for it to be done). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |