tune for better branch prediction by avoiding more than 3 in a 16-byte block

amd_d_nrv2b.S amd_d_nrv2e.S l_lx_elf64amd.S

committer: jreiser <jreiser> 1131994471 +0000
This commit is contained in:
John Reiser
2005-11-14 18:54:31 +00:00
parent 2558243c83
commit beb4319d1e
3 changed files with 26 additions and 13 deletions
+2 -2
View File
@@ -34,7 +34,7 @@ lit_n2e:
incq %rsi; movb %dl,(%rdi)
incq %rdi
top_n2e:
movzbl (%rsi),%edx # speculate: literal, or bottom 8 bits of offset
movb (%rsi),%dl # speculate: literal, or bottom 8 bits of offset
jnextb1y lit_n2e
lea 1(lenq),off # [len= 0] off= 1
jmp getoff_n2e
@@ -47,7 +47,7 @@ getoff_n2e:
jnextb0n off_n2e
subl $ 3,off; jc offprev_n2e
shll $ 8,off
shll $ 8,off; movzbl %dl,%edx
orl %edx,off; incq %rsi
xorl $~0,off; jz eof
sarl off # Carry= original low bit