1
0
mirror of https://github.com/upx/upx synced 2025-10-12 20:59:43 +08:00

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:
John Reiser 2024-07-30 14:14:23 -07:00
parent 3658136b82
commit 8aa445e2fc
2 changed files with 6 additions and 6 deletions

View File

@ -38,7 +38,7 @@ lit_n2d:
incl %esi; movb %dl,(%edi)
incl %edi
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
push $1; pop off
jmp getoff_n2d
@ -51,8 +51,8 @@ getoff_n2d:
jnextb0np off_n2d
subl $ 3,off; jc offprev_n2d
shll $ 8,off; movzbl %dl,%edx
orl %edx,off; incl %esi
shll $ 8,off; incl %esi
orl %edx,off
xorl $~0,off; jz eof
sarl off // Carry= original low bit
movl off,disp // XXX: 2GB

View File

@ -38,7 +38,7 @@ lit_n2e:
incl %esi; movb %dl,(%edi)
incl %edi
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
push $1; pop off
jmp getoff_n2e
@ -51,8 +51,8 @@ getoff_n2e:
jnextb0np off_n2e
subl $ 3,off; jc offprev_n2e
shll $ 8,off; movzbl %dl,%edx
orl %edx,off; incl %esi
shll $ 8,off; incl %esi
orl %edx,off
xorl $~0,off; jz eof
sarl off # Carry= original low bit
movl off,disp # XXX: 2GB