https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67281
--- Comment #2 from Tulio Magno Quites Machado Filho <tuliom at linux dot vnet.ibm.com> --- Oooops. My bad. What about this one? $ cat tbegin-barrier.c long foo (long dest, long *src0, long src1, long tries) { long i; for (i = 0; i < tries; i++) { __builtin_tbegin (0); dest = *src0 + src1; __builtin_tend (0); } return dest; } If we compile it the same way: foo: cmpdi 0,6,0 blelr 0 mtctr 6 ld 3,0(4) .p2align 4,,15 .L3: tbegin. 0 tend. 0 bdnz .L3 add 3,3,5 blr