On Tue, Jun 07, 2016 at 04:30:59PM -0700, H. Peter Anvin wrote:
> From: "H. Peter Anvin" <[email protected]>
> 
> gcc 6+ has the ability to let flags (actually, conditions, which are
> specific combinations of flags) to be used directly as asm() outputs.
> The syntax for that is "=@cc<cc>" where <cc> is the same set of
> letters that would be used in a j<cc> or set<cc> instruction
> (e.g. "=@ccz" to test the ZF flag.)
> 
> This patchset by itself reduces the size of the x86-64 kernel by
> 0.12%, from a baseline of 4.7-rc2 built with gcc 6.1 (first line is
> with the patchset, the second one is without):
> 
>      text       data       bss        dec       hex filename
>      
>  68245656   41004339  20533248  129783243   7bc55cb o.i386-allconfig/vmlinux
>  68355716   41008499  20533248  129897463   7be13f7 o.i386-allconfig/vmlinux
> 
> 127384005  129742359  38150144  295276508  11998fdc o.x86_64-allconfig/vmlinux
> 127538765  129742295  38150144  295431204  119bec24 o.x86_64-allconfig/vmlinux


Very nice!

Acked-by: Peter Zijlstra (Intel) <[email protected]>

Do you happen to know if GCC plans to support other architectures for
=@cc ?

Reply via email to