Bug#785475: arm64 shift+rotate optimization bug

2015-05-16 Thread Magnus Holmgren
BTW, gcc-5 5.1.1-5 is not affected. -- Magnus Holmgrenholmg...@debian.org Debian Developer signature.asc Description: This is a digitally signed message part.

Bug#785475: arm64 shift+rotate optimization bug

2015-05-16 Thread Magnus Holmgren
32_t rotl32 (int n, uint32_t x) { return (x << n) | (x >> (-n & 31)); } results in equivalent incorrect, but much more compact, machine code: 0: 8a010001and x1, x0, x1 4: ca818400eor x0, x0, x1, asr #33 8: d65f03c0ret -- M