de-tabify; also speculate 1-byte loads to save a cycle or two

amd_d_nrv2b.S amd_d_nrv2e.S l_lx_elf64amd.S

committer: jreiser <jreiser> 1131943590 +0000
This commit is contained in:
John Reiser
2005-11-14 04:46:30 +00:00
parent b670e8d1ac
commit 2558243c83
3 changed files with 85 additions and 73 deletions
+21 -16
View File
@@ -29,13 +29,14 @@
<jreiser@users.sourceforge.net>
*/
ALIGN(1<<3)
ALIGN(1<<3)
lit_n2e:
movb (%rsi),%al; addq $1,%rsi
movb %al,(%rdi); addq $1,%rdi
incq %rsi; movb %dl,(%rdi)
incq %rdi
top_n2e:
jnextb1y lit_n2e
lea 1(lenq),off # [len= 0] off= 1
movzbl (%rsi),%edx # speculate: literal, or bottom 8 bits of offset
jnextb1y lit_n2e
lea 1(lenq),off # [len= 0] off= 1
jmp getoff_n2e
off_n2e:
@@ -45,15 +46,14 @@ getoff_n2e:
getnextb(off)
jnextb0n off_n2e
movzbl (%rsi),%edx #; xorl len,len # len= 0
subl $ 3,off; jc offprev_n2e
shll $ 8,off
orl %edx,off; incq %rsi
xorl $~0,off; jz eof
sarl off # Carry= original low bit
movslq off,disp # XXX: 2GB
jc lenlast_n2e
jmp lenmore_n2e
subl $ 3,off; jc offprev_n2e
shll $ 8,off
orl %edx,off; incq %rsi
xorl $~0,off; jz eof
sarl off # Carry= original low bit
movslq off,disp # XXX: 2GB
jc lenlast_n2e
jmp lenmore_n2e
offprev_n2e:
jnextb1y lenlast_n2e
@@ -69,8 +69,13 @@ len_n2e:
lenlast_n2e:
getnextb(len) # 0,1,2,3
gotlen_n2e:
cmpq $-0x500,disp
cmpq $-0x500,disp
adcl $2,len # len += 2+ (disp < -0x500);
call copy
call copy
bot_n2e: # In: 0==len
jmp top_n2e
/*
vi:ts=8:et:nowrap
*/