| /* Check rotate pattern detection. */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */ |
| /* { dg-final { scan-tree-dump-not "r\[<>]\[<>]" "optimized" } } */ |
| |
| unsigned short int |
| f5 (unsigned short int x, unsigned int y) |
| { |
| return (x << y) | (x >> ((-y) & (__CHAR_BIT__ * __SIZEOF_SHORT__ - 1))); |
| } |
| |
| unsigned short int |
| f6 (unsigned short int x, unsigned long int y) |
| { |
| return (x << y) | (x >> ((-y) & (__CHAR_BIT__ * __SIZEOF_SHORT__ - 1))); |
| } |
| |
| unsigned char |
| f7 (unsigned char x, unsigned int y) |
| { |
| return (x << y) | (x >> ((-y) & (__CHAR_BIT__ - 1))); |
| } |
| |
| unsigned char |
| f8 (unsigned char x, unsigned long int y) |
| { |
| return (x << y) | (x >> ((-y) & (__CHAR_BIT__ - 1))); |
| } |
| |
| unsigned short int |
| f13 (unsigned short int x, unsigned int y) |
| { |
| return (x << y) | (x >> ((-y) & (__CHAR_BIT__ * sizeof (unsigned short) - 1))); |
| } |
| |
| unsigned short int |
| f14 (unsigned short int x, unsigned long int y) |
| { |
| return (x << y) | (x >> ((-y) & (__CHAR_BIT__ * sizeof (unsigned short) - 1))); |
| } |
| |
| unsigned char |
| f15 (unsigned char x, unsigned int y) |
| { |
| return (x << y) | (x >> ((-y) & (__CHAR_BIT__ * sizeof (unsigned char) - 1))); |
| } |
| |
| unsigned char |
| f16 (unsigned char x, unsigned long int y) |
| { |
| return (x << y) | (x >> ((-y) & (__CHAR_BIT__ * sizeof (unsigned char) - 1))); |
| } |
| |
| unsigned short int |
| f37 (unsigned short int x, unsigned int y) |
| { |
| return (x >> y) | (x << ((-y) & (__CHAR_BIT__ * __SIZEOF_SHORT__ - 1))); |
| } |
| |
| unsigned short int |
| f38 (unsigned short int x, unsigned long int y) |
| { |
| return (x >> y) | (x << ((-y) & (__CHAR_BIT__ * __SIZEOF_SHORT__ - 1))); |
| } |
| |
| unsigned char |
| f39 (unsigned char x, unsigned int y) |
| { |
| return (x >> y) | (x << ((-y) & (__CHAR_BIT__ - 1))); |
| } |
| |
| unsigned char |
| f40 (unsigned char x, unsigned long int y) |
| { |
| return (x >> y) | (x << ((-y) & (__CHAR_BIT__ - 1))); |
| } |
| |
| unsigned short int |
| f45 (unsigned short int x, unsigned int y) |
| { |
| return (x >> y) | (x << ((-y) & (__CHAR_BIT__ * sizeof (unsigned short) - 1))); |
| } |
| |
| unsigned short int |
| f46 (unsigned short int x, unsigned long int y) |
| { |
| return (x >> y) | (x << ((-y) & (__CHAR_BIT__ * sizeof (unsigned short) - 1))); |
| } |
| |
| unsigned char |
| f47 (unsigned char x, unsigned int y) |
| { |
| return (x >> y) | (x << ((-y) & (__CHAR_BIT__ * sizeof (unsigned char) - 1))); |
| } |
| |
| unsigned char |
| f48 (unsigned char x, unsigned long int y) |
| { |
| return (x >> y) | (x << ((-y) & (__CHAR_BIT__ * sizeof (unsigned char) - 1))); |
| } |