diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr87746.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr87746.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr87746.c b/gcc/testsuite/gcc.dg/pr87746.c new file mode 100644 index 00000000000..139651674e4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr87746.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-options "-Ofast" } */ +/* { dg-additional-options "-mavx2" { target x86_64-*-* i?86-*-* } } */ + +typedef struct rtx_def *rtx; +struct replacement { + rtx *where; + rtx *subreg_loc; + int mode; +}; +static struct replacement replacements[150]; +void move_replacements (rtx *x, rtx *y, int n_replacements) +{ + int i; + for (i = 0; i < n_replacements; i++) + if (replacements[i].subreg_loc == x) + replacements[i].subreg_loc = y; + else if (replacements[i].where == x) + { + replacements[i].where = y; + replacements[i].subreg_loc = 0; + } +} |