1  /* { dg-do compile } */
       2  /* { dg-options "-fgnu-tm -O -fdump-tree-tmedge --param tm-max-aggregate-size=1" } */
       3  
       4  struct large { int x[100]; };
       5  struct large bark();
       6  extern int test (void) __attribute__((transaction_safe));
       7  extern int readint (void);
       8  struct large lacopy;
       9  
      10  int f()
      11  {
      12    int i = readint();
      13    struct large lala = bark();
      14    __transaction_atomic {
      15      lala.x[55] = 666;
      16      lala = lacopy;		/* Aggregate instrumentation.  */
      17    }
      18    return lala.x[i];
      19  }
      20  
      21  /* { dg-final { scan-tree-dump-times "memcpyRtWn \\\(.*, &lacopy" 1 "tmedge" } } */