aboutsummaryrefslogtreecommitdiff
path: root/Asm/x86/LzFindOpt.asm
diff options
context:
space:
mode:
authorIgor Pavlov <87184205+ip7z@users.noreply.github.com>2024-06-19 00:00:00 +0000
committerIgor Pavlov <87184205+ip7z@users.noreply.github.com>2024-06-19 15:32:41 +0500
commita7a1d4a241492e81f659a920f7379c193593ebc6 (patch)
tree2ff203d3b43b3f6d18abaac21923f729fdb93e43 /Asm/x86/LzFindOpt.asm
parent89a73b901229c8550c172c9556ff8442ae7ac4b8 (diff)
download7zip-24.07.tar.gz
7zip-24.07.tar.bz2
7zip-24.07.zip
24.0724.07
Diffstat (limited to '')
-rw-r--r--Asm/x86/LzFindOpt.asm31
1 files changed, 29 insertions, 2 deletions
diff --git a/Asm/x86/LzFindOpt.asm b/Asm/x86/LzFindOpt.asm
index 42e10bd..94c5c76 100644
--- a/Asm/x86/LzFindOpt.asm
+++ b/Asm/x86/LzFindOpt.asm
@@ -1,5 +1,5 @@
1; LzFindOpt.asm -- ASM version of GetMatchesSpecN_2() function 1; LzFindOpt.asm -- ASM version of GetMatchesSpecN_2() function
2; 2021-07-21: Igor Pavlov : Public domain 2; 2024-06-18: Igor Pavlov : Public domain
3; 3;
4 4
5ifndef x64 5ifndef x64
@@ -11,10 +11,31 @@ include 7zAsm.asm
11 11
12MY_ASM_START 12MY_ASM_START
13 13
14_TEXT$LZFINDOPT SEGMENT ALIGN(64) 'CODE' 14ifndef Z7_LZ_FIND_OPT_ASM_USE_SEGMENT
15if (IS_LINUX gt 0)
16 Z7_LZ_FIND_OPT_ASM_USE_SEGMENT equ 1
17else
18 Z7_LZ_FIND_OPT_ASM_USE_SEGMENT equ 1
19endif
20endif
15 21
22ifdef Z7_LZ_FIND_OPT_ASM_USE_SEGMENT
23_TEXT$LZFINDOPT SEGMENT ALIGN(64) 'CODE'
16MY_ALIGN macro num:req 24MY_ALIGN macro num:req
17 align num 25 align num
26 ; align 16
27endm
28else
29MY_ALIGN macro num:req
30 ; We expect that ".text" is aligned for 16-bytes.
31 ; So we don't need large alignment inside our function.
32 align 16
33endm
34endif
35
36
37MY_ALIGN_16 macro
38 MY_ALIGN 16
18endm 39endm
19 40
20MY_ALIGN_32 macro 41MY_ALIGN_32 macro
@@ -136,7 +157,11 @@ COPY_VAR_64 macro dest_var, src_var
136endm 157endm
137 158
138 159
160ifdef Z7_LZ_FIND_OPT_ASM_USE_SEGMENT
139; MY_ALIGN_64 161; MY_ALIGN_64
162else
163 MY_ALIGN_16
164endif
140MY_PROC GetMatchesSpecN_2, 13 165MY_PROC GetMatchesSpecN_2, 13
141MY_PUSH_PRESERVED_ABI_REGS 166MY_PUSH_PRESERVED_ABI_REGS
142 mov r0, RSP 167 mov r0, RSP
@@ -508,6 +533,8 @@ fin:
508MY_POP_PRESERVED_ABI_REGS 533MY_POP_PRESERVED_ABI_REGS
509MY_ENDP 534MY_ENDP
510 535
536ifdef Z7_LZ_FIND_OPT_ASM_USE_SEGMENT
511_TEXT$LZFINDOPT ENDS 537_TEXT$LZFINDOPT ENDS
538endif
512 539
513end 540end