Rebase.
[official-gcc.git] / gcc / testsuite / gcc.target / s390 / 20050824-1.c
blobc24e1e26f2df856fe7ef737154c603803a2e0c68
1 /* Make sure that the S/390 specific shift_count_operand
2 predicate work properly. */
4 /* { dg-do compile } */
5 /* { dg-options "-O3" } */
7 unsigned long long
8 f (unsigned long long a, unsigned long b)
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");
17 return a << ((b + 3) & 63);
20 unsigned long long
21 g (unsigned long long a, char **b , int c, int d, int e, int f)
23 char buffer [4096];
25 *b = &buffer[0];
27 return a << ((unsigned long)&f & 63);
30 unsigned long long
31 h (unsigned long long a, int b, int c, int d, int e, int f)
33 return a << (((unsigned long)&f + 3));