[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/2] x86/E820: improve insn selection
On 12/12/17 11:10, Jan Beulich wrote: > ..., largely to shrink code size a little: > - use TEST instead of CMP with zero immediate > - use MOVZWL instead of AND with 0xffff immediate > - compute final highmem_bk value in registers, accessing memory just > once > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, altbeit it preferably with space in the first hunk. Any chance we can drop redundant size suffixes as we go? > > --- a/xen/arch/x86/boot/mem.S > +++ b/xen/arch/x86/boot/mem.S > @@ -29,8 +29,8 @@ get_memory_map: > movw %di,%ax > addw $20,%ax > movw %ax,%di > - cmpl $0,%ebx # check to see if > - jne 1b # %ebx is set to EOF > + testl %ebx,%ebx # check to see if > + jnz 1b # %ebx is set to EOF > > .Lmem88: > movb $0x88, %ah > @@ -48,17 +48,17 @@ get_memory_map: > int $0x15 > jc .Lint12 > > - cmpw $0x0, %cx # Kludge to handle BIOSes > - jne 1f # which report their extended > - cmpw $0x0, %dx # memory in AX/BX rather than > - jne 1f # CX/DX. The spec I have > read > + testw %cx, %cx # Kludge to handle BIOSes > + jnz 1f # which report their extended > + testw %dx, %dx # memory in AX/BX rather than > + jnz 1f # CX/DX. The spec I have > read > movw %ax, %cx # seems to indicate AX/BX > movw %bx, %dx # are more reasonable > anyway... > -1: andl $0xffff,%edx # clear sign extend > +1: movzwl %dx, %edx > shll $6,%edx # and go from 64k to 1k > chunks > + movzwl %cx, %ecx > + addl %ecx, %edx # add in lower memory > movl %edx,bootsym(highmem_kb) # store extended memory size > - andl $0xffff,%ecx # clear sign extend > - addl %ecx,bootsym(highmem_kb) # and add lower memory into > > .Lint12: > int $0x12 > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |