i386 stub: prefer movzbl over movb fetch [stragglers]
modified: stub/src/arch/i386/nrv2d_d32-easy.S modified: stub/src/arch/i386/nrv2e_d32-easy.S
This commit is contained in:
@@ -38,7 +38,7 @@ lit_n2d:
|
|||||||
incl %esi; movb %dl,(%edi)
|
incl %esi; movb %dl,(%edi)
|
||||||
incl %edi
|
incl %edi
|
||||||
top_n2d:
|
top_n2d:
|
||||||
movb (%esi),%dl // speculate: literal, or bottom 8 bits of offset
|
movzbl (%esi),%edx // speculate: literal, or bottom 8 bits of offset
|
||||||
jnextb1yp lit_n2d
|
jnextb1yp lit_n2d
|
||||||
push $1; pop off
|
push $1; pop off
|
||||||
jmp getoff_n2d
|
jmp getoff_n2d
|
||||||
@@ -51,8 +51,8 @@ getoff_n2d:
|
|||||||
jnextb0np off_n2d
|
jnextb0np off_n2d
|
||||||
|
|
||||||
subl $ 3,off; jc offprev_n2d
|
subl $ 3,off; jc offprev_n2d
|
||||||
shll $ 8,off; movzbl %dl,%edx
|
shll $ 8,off; incl %esi
|
||||||
orl %edx,off; incl %esi
|
orl %edx,off
|
||||||
xorl $~0,off; jz eof
|
xorl $~0,off; jz eof
|
||||||
sarl off // Carry= original low bit
|
sarl off // Carry= original low bit
|
||||||
movl off,disp // XXX: 2GB
|
movl off,disp // XXX: 2GB
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ lit_n2e:
|
|||||||
incl %esi; movb %dl,(%edi)
|
incl %esi; movb %dl,(%edi)
|
||||||
incl %edi
|
incl %edi
|
||||||
top_n2e:
|
top_n2e:
|
||||||
movb (%esi),%dl # speculate: literal, or bottom 8 bits of offset
|
movzbl (%esi),%edx # speculate: literal, or bottom 8 bits of offset
|
||||||
jnextb1yp lit_n2e
|
jnextb1yp lit_n2e
|
||||||
push $1; pop off
|
push $1; pop off
|
||||||
jmp getoff_n2e
|
jmp getoff_n2e
|
||||||
@@ -51,8 +51,8 @@ getoff_n2e:
|
|||||||
jnextb0np off_n2e
|
jnextb0np off_n2e
|
||||||
|
|
||||||
subl $ 3,off; jc offprev_n2e
|
subl $ 3,off; jc offprev_n2e
|
||||||
shll $ 8,off; movzbl %dl,%edx
|
shll $ 8,off; incl %esi
|
||||||
orl %edx,off; incl %esi
|
orl %edx,off
|
||||||
xorl $~0,off; jz eof
|
xorl $~0,off; jz eof
|
||||||
sarl off # Carry= original low bit
|
sarl off # Carry= original low bit
|
||||||
movl off,disp # XXX: 2GB
|
movl off,disp # XXX: 2GB
|
||||||
|
|||||||
Reference in New Issue
Block a user