?? 20040305-1.c
字號:
/* The testcase failed due to corrupted alias information. During the crossjump analyzing step the mem alias info of the st instructions are merged and get copied during basic block reordering which leads to an insn with wrong alias info. The scheduler afterwards exchanges the mvc and st instructions not recognizing the anti dependence. *//* { dg-do run { target s390-*-* } } *//* { dg-options "-O3 -mtune=z990 -fno-inline" } */extern void exit (int);extern void abort (void);int f;int g;int h;int* x = &f;int* p1 = &g;int* p2 = &h;intfoo(void){ if (*x == 0) { x = p1; /* mvc - memory to memory */ p1 = (int*)0; /* st - register to memory */ return 1; } if (*x == 5) { f = 1; g = 2; p2 = (int*)0; /* st */ return 1; }}intmain (int argc, char** argv){ foo (); /* If the scheduler has exchanged the mvc and st instructions, x is 0. The expected result is &g. */ if (x == &g) exit (0); else abort ();}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -