On Tue 09 Oct 2018 02:55:40 PM CEST, Daniel P. Berrangé wrote: > -static void xts_mult_x(uint8_t *I) > +static void xts_mult_x(xts_uint128 *I) > { > - int x; > - uint8_t t, tt; > + uint64_t tt; > > - for (x = t = 0; x < 16; x++) { > - tt = I[x] >> 7; > - I[x] = ((I[x] << 1) | t) & 0xFF; > - t = tt; > - } > - if (tt) { > - I[0] ^= 0x87; > + tt = I->a >> 63; > + I->a = I->a << 1; > + > + if (I->b >> 63) { > + I->a ^= 0x87; > } > + I->b = (I->b << 1) | tt; > }
Does this work fine in big-endian CPUs? Berto