On Mon, 2015-04-06 at 08:40 +0200, Nicholas Mc Guire wrote: > #define msecs_to_jiffies(m) \ > (__builtin_constant_p (m) \ > ? ((m) * HZ / MSECS_PER_SEC ) : __msecs_to_jiffies(m)) [] > main: > .LFB12: > .cfi_startproc > subq $8, %rsp #, > .cfi_def_cfa_offset 16 > movl $10, %esi #, > movl $.LC0, %edi #, > xorl %eax, %eax # > call printf #
vs: > static inline unsigned long msecs_to_jiffies(int m) > { > return __builtin_constant_p (m) ? > (m) * HZ / MSECS_PER_SEC : __msecs_to_jiffies(m); > } [] > main: > .LFB13: > .cfi_startproc > subq $8, %rsp #, > .cfi_def_cfa_offset 16 > xorl %esi, %esi # > movl $.LC0, %edi #, > xorl %eax, %eax # > call printf # > > giving it another run from scratch somewhere I simply screwed up or > overlooked some detail. If the optimizer was doing it's job properly, wouldn't the macro and inline output object code be the same? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/