On Fri, Mar 6, 2015 at 12:55 PM, Denys Vlasenko <dvlas...@redhat.com> 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 <dvlas...@redhat.com> > CC: Linus Torvalds <torva...@linux-foundation.org> > CC: Steven Rostedt <rost...@goodmis.org> > CC: Ingo Molnar <mi...@kernel.org> > CC: Borislav Petkov <b...@alien8.de> > CC: "H. Peter Anvin" <h...@zytor.com> > CC: Andy Lutomirski <l...@amacapital.net> > CC: Oleg Nesterov <o...@redhat.com> > CC: Frederic Weisbecker <fweis...@gmail.com> > CC: Will Drewry <w...@chromium.org> > CC: Kees Cook <keesc...@chromium.org> > CC: x...@kernel.org > CC: linux-kernel@vger.kernel.org > --- > > 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 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/