Skip to content

Commit 74555cb

Browse files
committed
Update to 7-Zip 24.05 and reapply patches
1 parent d3ae793 commit 74555cb

502 files changed

Lines changed: 33075 additions & 10306 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

7z-Src/Asm/x86/7zAsm.asm

Lines changed: 60 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; 7zAsm.asm -- ASM macros
2-
; 2022-05-16 : Igor Pavlov : Public domain
2+
; 2023-12-08 : Igor Pavlov : Public domain
33

44

55
; UASM can require these changes
@@ -43,7 +43,7 @@ else
4343
endif
4444
endif
4545

46-
OPTION PROLOGUE:NONE
46+
OPTION PROLOGUE:NONE
4747
OPTION EPILOGUE:NONE
4848

4949
MY_ASM_START macro
@@ -121,10 +121,29 @@ endif
121121
x2_H equ DH
122122
x3_H equ BH
123123

124+
; r0_L equ AL
125+
; r1_L equ CL
126+
; r2_L equ DL
127+
; r3_L equ BL
128+
129+
; r0_H equ AH
130+
; r1_H equ CH
131+
; r2_H equ DH
132+
; r3_H equ BH
133+
134+
124135
ifdef x64
125136
x5_L equ BPL
126137
x6_L equ SIL
127138
x7_L equ DIL
139+
x8_L equ r8b
140+
x9_L equ r9b
141+
x10_L equ r10b
142+
x11_L equ r11b
143+
x12_L equ r12b
144+
x13_L equ r13b
145+
x14_L equ r14b
146+
x15_L equ r15b
128147

129148
r0 equ RAX
130149
r1 equ RCX
@@ -153,6 +172,22 @@ else
153172
r7 equ x7
154173
endif
155174

175+
x0_R equ r0
176+
x1_R equ r1
177+
x2_R equ r2
178+
x3_R equ r3
179+
x4_R equ r4
180+
x5_R equ r5
181+
x6_R equ r6
182+
x7_R equ r7
183+
x8_R equ r8
184+
x9_R equ r9
185+
x10_R equ r10
186+
x11_R equ r11
187+
x12_R equ r12
188+
x13_R equ r13
189+
x14_R equ r14
190+
x15_R equ r15
156191

157192
ifdef x64
158193
ifdef ABI_LINUX
@@ -200,6 +235,14 @@ REG_ABI_PARAM_0 equ REG_PARAM_0
200235
REG_ABI_PARAM_1_x equ REG_PARAM_1_x
201236
REG_ABI_PARAM_1 equ REG_PARAM_1
202237

238+
MY_PUSH_PRESERVED_ABI_REGS_UP_TO_INCLUDING_R11 macro
239+
MY_PUSH_4_REGS
240+
endm
241+
242+
MY_POP_PRESERVED_ABI_REGS_UP_TO_INCLUDING_R11 macro
243+
MY_POP_4_REGS
244+
endm
245+
203246
else
204247
; x64
205248

@@ -261,12 +304,25 @@ endm
261304
endif ; IS_LINUX
262305

263306

264-
MY_PUSH_PRESERVED_ABI_REGS macro
307+
MY_PUSH_PRESERVED_ABI_REGS_UP_TO_INCLUDING_R11 macro
265308
if (IS_LINUX gt 0)
266309
MY_PUSH_2_REGS
267310
else
268311
MY_PUSH_4_REGS
269312
endif
313+
endm
314+
315+
MY_POP_PRESERVED_ABI_REGS_UP_TO_INCLUDING_R11 macro
316+
if (IS_LINUX gt 0)
317+
MY_POP_2_REGS
318+
else
319+
MY_POP_4_REGS
320+
endif
321+
endm
322+
323+
324+
MY_PUSH_PRESERVED_ABI_REGS macro
325+
MY_PUSH_PRESERVED_ABI_REGS_UP_TO_INCLUDING_R11
270326
push r12
271327
push r13
272328
push r14
@@ -279,11 +335,7 @@ MY_POP_PRESERVED_ABI_REGS macro
279335
pop r14
280336
pop r13
281337
pop r12
282-
if (IS_LINUX gt 0)
283-
MY_POP_2_REGS
284-
else
285-
MY_POP_4_REGS
286-
endif
338+
MY_POP_PRESERVED_ABI_REGS_UP_TO_INCLUDING_R11
287339
endm
288340

289341
endif ; x64

0 commit comments

Comments
 (0)