Menu

#427 Add LZMA decompress assembly code support for Windows On ARM and support for clang 17

None
open
nobody
None
7
2024-03-20
2024-03-19
No

This patch does the following:
1. Adds support for compiling Windows On ARM LZMA decompress assembly file using clang-cl as the assembler. This gives significant performance improvements on WoA compared to the C/C++ version.
2. Fix issues in various files where "arm_neon.h" was not being included when compiled with clang-cl.
3. Remove semicolons after some macros in the source code to get rid of warnings with newer version of clang-cl.
4. Adds pragmas to ignore some diagnostics introduced in newer version of clang-cl, that couldn't be fixed easily in source code.

I tested with clang 17.
My compilation steps are as follows:

cmd
cd C:\<path>\7-Zip\CPP\7zip\Bundles\Alone2

call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsarm64.bat"
set CC=clang-cl
set CXX=clang-cl
nmake

--
Usman Nadeem
Qualcomm Innovation Center, Inc.

1 Attachments

Discussion

  • Igor Pavlov

    Igor Pavlov - 2024-03-20
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -18,5 +18,4 @@
    
     --
     Usman Nadeem
    -mnadeem@quicinc.com
     Qualcomm Innovation Center, Inc.
    
    • Group: -->
     
  • Igor Pavlov

    Igor Pavlov - 2024-03-20

    I've already fixed code for clang-16 - clang-19 comptibility and lzma-asm for arm64-windows.
    The fixed code is similar to your patch.
    I'll open source code soon.

     

Log in to post a comment.