/* { dg-do compile } */ /* { dg-options "-fgnu-tm -O3" } */ /* On x86-64, the vectorizer creates V2DI uses which we must handle. Similarly for other vector architectures. */ void ** newElements; __attribute__((transaction_safe)) long TMqueue_push (void** queuePtr) { long src; for (src = 1; src < 9; src++) { newElements[src+1] = queuePtr[src]; } return 1; }