1 /* { dg-do compile } */ 2 /* { dg-options "-fgnu-tm -O3" } */ 3 4 /* On x86-64, the vectorizer creates V2DI uses which we must handle. 5 Similarly for other vector architectures. */ 6 7 void ** newElements; 8 9 __attribute__((transaction_safe)) 10 long TMqueue_push(void ** queuePtr)11TMqueue_push (void** queuePtr) 12 { 13 long src; 14 for (src = 1; src < 9; src++) { 15 newElements[src+1] = queuePtr[src]; 16 } 17 return 1; 18 } 19