Skip to content

Commit

Permalink
18.03 beta 2018-03-04
Browse files Browse the repository at this point in the history
-------------------------
- Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm
  for x64 with about 30% higher speed than main version of LZMA decoder written in C.
- The speed for single-thread LZMA/LZMA2 decoder written in C was increased by 3%.
- 7-Zip now can use multi-threading for 7z/LZMA2 decoding,
  if there are multiple independent data chunks in LZMA2 stream.
- 7-Zip now can use multi-threading for xz decoding,
  if there are multiple blocks in xz stream.

md5: ba8d01b14c9abdb2459d525f1bd00c14 lzma1803.7z
sha1: 81d7e27a71c779598b685387420d36163c27830c lzma1803.7z
  • Loading branch information
Igor Pavlov authored and jljusten committed Sep 9, 2018
1 parent 631ebae commit b08f452
Show file tree
Hide file tree
Showing 68 changed files with 7,916 additions and 1,237 deletions.
44 changes: 43 additions & 1 deletion Asm/x86/7zAsm.asm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
; 7zAsm.asm -- ASM macros
; 2012-12-30 : Igor Pavlov : Public domain
; 2018-02-03 : Igor Pavlov : Public domain

MY_ASM_START macro
ifdef x64
Expand Down Expand Up @@ -52,6 +52,15 @@ endif
x6 equ ESI
x7 equ EDI

x0_W equ AX
x1_W equ CX
x2_W equ DX
x3_W equ BX

x5_W equ BP
x6_W equ SI
x7_W equ DI

x0_L equ AL
x1_L equ CL
x2_L equ DL
Expand All @@ -63,6 +72,10 @@ endif
x3_H equ BH

ifdef x64
x5_L equ BPL
x6_L equ SIL
x7_L equ DIL

r0 equ RAX
r1 equ RCX
r2 equ RDX
Expand Down Expand Up @@ -103,3 +116,32 @@ MY_POP_4_REGS macro
pop r5
pop r3
endm


ifdef x64

; for WIN64-x64 ABI:

REG_PARAM_0 equ r1
REG_PARAM_1 equ r2
REG_PARAM_2 equ r8
REG_PARAM_3 equ r9

MY_PUSH_PRESERVED_REGS macro
MY_PUSH_4_REGS
push r12
push r13
push r14
push r15
endm


MY_POP_PRESERVED_REGS macro
pop r15
pop r14
pop r13
pop r12
MY_POP_4_REGS
endm

endif
Loading

0 comments on commit b08f452

Please sign in to comment.