/* { dg-do compile } */ /* { dg-final { scan-assembler "and.w " } } */ /* { dg-final { scan-assembler "and.b " } } */ /* { dg-final { scan-assembler-not "and.d " } } */ /* { dg-options "-O2" } */ /* Test the "asrandb", "asrandw", "lsrandb" and "lsrandw" peephole2:s trivially. */ unsigned int andwlsr (unsigned int x) { return (x >> 17) & 0x7fd; } unsigned int andblsr (unsigned int x) { return (x >> 25) & 0x5f; } int andwasr (int x) { return (x >> 17) & 0x7fd; } int andbasr (int x) { return (x >> 25) & 0x5f; }