pr79732.c: Require alias support.
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr30665-2.c
bloba2cbf024c9c00a446bdd3e0e1ba6bdfac1d9c0d8
1 /* PR target/30665: bug in cris.md peephole2 condition.
2 Original reduced testcase (fails on 3.2.1 derivate, not on trunk). */
3 /* { dg-do run } */
5 extern void abort (void);
6 extern void exit (int);
8 struct t
10 unsigned int a : 12;
11 unsigned int b : 12;
12 unsigned int dummy1 : 8;
15 struct area
17 int xa;
18 int xb;
21 struct c
23 struct area ii;
26 static struct c c;
28 void __attribute__ ((__noinline__)) g(int a)
30 if (a != 79)
31 abort ();
34 void __attribute__ ((__noinline__)) h(struct t tt)
36 if (tt.a != 20 || tt.b != 79)
37 abort ();
40 void __attribute__ ((__noinline__)) s(void);
42 int main(int argc, char **argv)
44 c.ii.xa = 20;
45 c.ii.xb = 79;
47 s();
49 exit (0);
52 void __attribute__ ((__noinline__)) s(void)
54 struct t ii_x = { .a = c.ii.xa, .b = c.ii.xb };
55 g(c.ii.xb);
56 h(ii_x);