Il 01/06/2013 00:18, Richard Henderson ha scritto: > On 05/30/2013 02:16 PM, Paolo Bonzini wrote: >> +static inline Int128 int128_rshift(Int128 a, int n) >> +{ >> + return (Int128) { (a.lo >> n) | (a.hi << (64 - n)), (a.hi >> n) }; >> +} > > Produces wrong results for n == 0, since (a.hi << 64) is undefined.
Good catch, I'm adding an if (!n) { return a; } before. Paolo