2 /* The testcase failed due to corrupted alias information.
3 During the crossjump analyzing step the mem alias info of the
4 st instructions are merged and get copied during basic block
5 reordering which leads to an insn with wrong alias info.
6 The scheduler afterwards exchanges the mvc and st instructions
7 not recognizing the anti dependence. */
8 /* { dg-do run { target s390-*-* } } */
9 /* { dg-options "-O3 -mtune=z990 -fno-inline" } */
11 extern void exit (int);
12 extern void abort (void);
28 x
= p1
; /* mvc - memory to memory */
29 p1
= (int*)0; /* st - register to memory */
37 p2
= (int*)0; /* st */
43 main (int argc
, char** argv
)
47 /* If the scheduler has exchanged the mvc and st instructions,
48 x is 0. The expected result is &g. */