/* Check that we do not use (64 - sh) for rotating. */ | |
/* { dg-options "-O1 -m64" } */ | |
/* { dg-final { scan-assembler "lcr\t%r.+,%r.+" } } */ | |
/* { dg-final { scan-assembler-not "lhi\t%r.+,64" } } */ | |
/* { dg-final { scan-assembler-not "sr\t%r.+,%r.+" } } */ | |
unsigned long rotr (unsigned long in, unsigned long sh) | |
{ | |
return (in >> sh) | (in << (64 - sh)); | |
} |