[Bug target/82498] Missed optimization for x86 rotate instruction
glisse at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Oct 12 07:31:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82498
--- Comment #7 from Marc Glisse <glisse at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #6)
> You can use __rol{b,w,d,q} and __ror{b,w,d,q} (and their aliases) from
> ia32intrin.h. These are standardized; you have to include x86intrin.h header.
Some of those break if you use -fsanitize=undefined.
#include <x86intrin.h>
int main(){
unsigned i = 0;
return __rold(i,0);
}
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/8/include/ia32intrin.h:150:30:
runtime error: shift exponent 32 is too large for 32-bit type 'unsigned int'
More information about the Gcc-bugs
mailing list