Viewing file: pr93346.c (1.02 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR target/93346 */ /* { dg-do compile } */ /* { dg-options "-O2 -mbmi2" } */ /* { dg-final { scan-assembler-times "\tbzhi\t" 12 } } */
unsigned int f1 (unsigned int x, unsigned int y) { return x & ((1 << y) - 1); }
unsigned int f2 (unsigned int x, unsigned int y) { return x & ((1U << y) - 1); }
int f3 (int x, unsigned int y) { return x & ((1 << y) - 1); }
unsigned long f4 (unsigned long x, unsigned int y) { return x & ((1L << y) - 1); }
unsigned long f5 (unsigned long x, unsigned int y) { return x & ((1UL << y) - 1); }
long f6 (long x, unsigned int y) { return x & ((1L << y) - 1); }
unsigned int f7 (unsigned int x, int y) { return x & ((1 << y) - 1); }
unsigned int f8 (unsigned int x, int y) { return x & ((1U << y) - 1); }
int f9 (int x, int y) { return x & ((1 << y) - 1); }
unsigned long f10 (unsigned long x, int y) { return x & ((1L << y) - 1); }
unsigned long f11 (unsigned long x, int y) { return x & ((1UL << y) - 1); }
long f12 (long x, int y) { return x & ((1L << y) - 1); }
|