On 25 September 2012 07:00, Segher Boessenkool <seg...@kernel.crashing.org> wrote: > Christophe, it looks like the zero-extend in the unsigned case is not > needed on any target? Assuming the shifts are at least SImode, of > course (I'm too lazy to check, sorry). >
It's also present when compiling: unsigned short swapu16(unsigned short x) { return __builtin_bswap16(x); } so it's not directly caused by my patch I think. We have to look at the __builtin_bswap16 expansion with an unsigned argument. Christophe.