OSDN Git Service

patch for PR rtl-optimization/25130
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / 20050824-1.c
1 /* Make sure that the S/390 specific shift_count_operand
2    predicate work properly.  */
3
4 /* { dg-do compile { target s390*-*-* } } */
5 /* { dg-options "-O3" } */
6
7 unsigned long long
8 f (unsigned long long a, unsigned long b)
9 {
10   asm ("" : : : 
11 #ifdef __s390x__
12                 "r13", "r14",
13 #endif
14                 "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", 
15                 "r8", "r9", "r10", "r11", "r12");
16
17   return a << ((b + 3) & 63);
18 }
19
20 unsigned long long
21 g (unsigned long long a, char **b , int c, int d, int e, int f)
22 {
23   char buffer [4096];
24
25   *b = &buffer[0];
26
27   return a << ((unsigned long)&f & 63);
28 }
29
30 unsigned long long
31 h (unsigned long long a, int b, int c, int d, int e, int f)
32 {
33   return a << (((unsigned long)&f + 3));
34 }