1  /* { dg-do compile } */
       2  /* { dg-options "-Ofast" } */
       3  /* { dg-additional-options "-mavx2" { target x86_64-*-* i?86-*-* } } */
       4  
       5  typedef struct rtx_def *rtx;
       6  struct replacement {
       7      rtx *where;
       8      rtx *subreg_loc;
       9      int mode;
      10  };
      11  static struct replacement replacements[150];
      12  void move_replacements (rtx *x, rtx *y, int n_replacements)
      13  {
      14    int i;
      15    for (i = 0; i < n_replacements; i++)
      16      if (replacements[i].subreg_loc == x)
      17        replacements[i].subreg_loc = y;
      18      else if (replacements[i].where == x) 
      19        {
      20  	replacements[i].where = y;
      21  	replacements[i].subreg_loc = 0;
      22        }
      23  }