https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115825
--- Comment #20 from Segher Boessenkool <segher at gcc dot gnu.org> --- gcc.target/powerpc/darn-3.c I'll quote the whole thing: === static int darn32(void) { return __builtin_darn_32(); } int four(void) { int sum = 0; int i; for (i = 0; i < 4; i++) sum += darn32(); return sum; } === Okay, two insns, there's an add insn as well. But *not* unrolling this likely makes bigger code already!