https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69196
--- Comment #4 from Sebastian Huber <sebastian.hu...@embedded-brains.de> --- I did a very rough check to see which code is faster on the PSIM/GDB simulator using the following input data: void printk(const char *fmt, ...) { va_list ap; va_start(ap, fmt); vprintk(fmt, ap); va_end(ap); } void test(void) { char *s = "x"; printk("abc%sx%ix%cx%lu\n", s, 0, 'c', 1UL); } GCC 4.9: 311 time units GCC 6: 316 time units I guess its quite difficult to determine if this target independent code size increase is actually a regression in general. At least in this particular function with this particular input data on this particular target/simulator the code size is nearly doubled and the execution is slightly slower.