On Fri, Mar 6, 2015 at 12:55 PM, Denys Vlasenko <[email protected]> wrote: > By the nature of TEST operation, it is often possible > to test a narrower part of the operand: > "testl $3, mem" -> "testb $3, mem", > "testq $3, %rcx" -> "testb $3, %cl" > This results in shorter insns, because TEST insn has no > sign-entending byte-immediate forms unlike other ALU ops. > > Signed-off-by: Denys Vlasenko <[email protected]> > CC: Linus Torvalds <[email protected]> > CC: Steven Rostedt <[email protected]> > CC: Ingo Molnar <[email protected]> > CC: Borislav Petkov <[email protected]> > CC: "H. Peter Anvin" <[email protected]> > CC: Andy Lutomirski <[email protected]> > CC: Oleg Nesterov <[email protected]> > CC: Frederic Weisbecker <[email protected]> > CC: Will Drewry <[email protected]> > CC: Kees Cook <[email protected]> > CC: [email protected] > CC: [email protected] > --- > > Code changes in assembly are: > > -48 f7 07 01 00 00 00 testq $0x1,(%rdi) > +f6 07 01 testb $0x1,(%rdi) > -48 f7 c1 01 00 00 00 test $0x1,%rcx > +f6 c1 01 test $0x1,%cl > -48 f7 c1 02 00 00 00 test $0x2,%rcx > +f6 c1 02 test $0x2,%cl > -41 f7 c2 01 00 00 00 test $0x1,%r10d > +41 f6 c2 01 test $0x1,%r10b > -48 f7 c1 04 00 00 00 test $0x4,%rcx > +f6 c1 04 test $0x4,%cl > -48 f7 c1 08 00 00 00 test $0x8,%rcx > +f6 c1 08 test $0x8,%cl > > arch/x86/kernel/head_64.S | 2 +- > arch/x86/kernel/relocate_kernel_32.S | 8 ++++---- > arch/x86/kernel/relocate_kernel_64.S | 8 ++++---- > arch/x86/lib/checksum_32.S | 4 ++-- > arch/x86/lib/csum-copy_64.S | 2 +-
Looks good to me. Ingo, should I queue this up? --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

