Build: Add ARM64 configurations

This commit is contained in:
Stenzek 2024-03-21 16:19:17 +10:00 committed by Connor McLaughlin
parent 22d929d171
commit 6ee99d8b81
16 changed files with 787 additions and 133 deletions

View File

@ -25,8 +25,9 @@
<PreprocessorDefinitions>_M_X86;__SSE4_1__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnableEnhancedInstructionSet Condition="!$(Configuration.Contains(AVX2)) Or $(Configuration.Contains(Clang))">NotSet</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="$(Configuration.Contains(AVX2)) And !$(Configuration.Contains(Clang))">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<AdditionalOptions Condition="$(Configuration.Contains(Clang)) And !$(Configuration.Contains(AVX2))"> -march=nehalem %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="$(Configuration.Contains(Clang)) And $(Configuration.Contains(AVX2))"> -march=haswell %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="'$(Platform)'=='x64' And $(Configuration.Contains(Clang)) And !$(Configuration.Contains(AVX2))"> -march=nehalem %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="'$(Platform)'=='x64' And $(Configuration.Contains(Clang)) And $(Configuration.Contains(AVX2))"> -march=haswell %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="'$(Platform)'=='ARM64' And $(Configuration.Contains(Clang))"> -march=armv8.4-a %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="!$(Configuration.Contains(Clang))">%(AdditionalOptions) /Zc:externConstexpr /Zc:__cplusplus /Zo /utf-8</AdditionalOptions>
<!-- Force ThinLTO for Release builds, MSVC doesn't seem to do it otherwise. -->

View File

@ -70,3 +70,18 @@ PCSX2 only supports the Clang and MSVC compilers.
No support will be provided, continue at your own risk.
*********************************************************")
endif()
if(_M_ARM64)
message(WARNING "
*************** UNSUPPORTED CONFIGURATION ***************
Apple Silicon support in PCSX2 is INCOMPLETE. There are
currently no EE/VU/IOP recompilers, and games will run
VERY slow. There is no date for completion yet, you
should set -DCMAKE_OSX_ARCHITECTURES=x86_64 for now,
unless you want to work on the recompilers.
We also ask that you read https://dont-ship.it/.
*********************************************************")
endif()

View File

@ -51,562 +51,942 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demangler", "3rdparty\deman
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freesurround", "3rdparty\freesurround\freesurround.vcxproj", "{1DD0B31F-37F0-4A36-A521-74133ACA4737}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vixl", "3rdparty\vixl\vixl.vcxproj", "{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug AVX2|ARM64 = Debug AVX2|ARM64
Debug AVX2|x64 = Debug AVX2|x64
Debug Clang AVX2|ARM64 = Debug Clang AVX2|ARM64
Debug Clang AVX2|x64 = Debug Clang AVX2|x64
Debug Clang|ARM64 = Debug Clang|ARM64
Debug Clang|x64 = Debug Clang|x64
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Devel AVX2|ARM64 = Devel AVX2|ARM64
Devel AVX2|x64 = Devel AVX2|x64
Devel Clang AVX2|ARM64 = Devel Clang AVX2|ARM64
Devel Clang AVX2|x64 = Devel Clang AVX2|x64
Devel Clang|ARM64 = Devel Clang|ARM64
Devel Clang|x64 = Devel Clang|x64
Devel|ARM64 = Devel|ARM64
Devel|x64 = Devel|x64
Release AVX2|ARM64 = Release AVX2|ARM64
Release AVX2|x64 = Release AVX2|x64
Release Clang AVX2|ARM64 = Release Clang AVX2|ARM64
Release Clang AVX2|x64 = Release Clang AVX2|x64
Release Clang|ARM64 = Release Clang|ARM64
Release Clang|x64 = Release Clang|x64
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug Clang|x64.Build.0 = Debug Clang|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug|x64.ActiveCfg = Debug|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Debug|x64.Build.0 = Debug|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel Clang|x64.Build.0 = Devel Clang|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel|x64.ActiveCfg = Devel|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Devel|x64.Build.0 = Devel|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release AVX2|x64.Build.0 = Release AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release Clang|x64.ActiveCfg = Release Clang|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release Clang|x64.Build.0 = Release Clang|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release|x64.ActiveCfg = Release|x64
{2A016F21-87AE-4154-8271-1F57E91408E9}.Release|x64.Build.0 = Release|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug Clang|x64.Build.0 = Debug Clang|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug|x64.ActiveCfg = Debug|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug|x64.Build.0 = Debug|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel Clang|x64.Build.0 = Devel Clang|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel|x64.ActiveCfg = Devel|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Devel|x64.Build.0 = Devel|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release AVX2|x64.Build.0 = Release AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release Clang|x64.ActiveCfg = Release Clang|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release Clang|x64.Build.0 = Release Clang|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release|x64.ActiveCfg = Release|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Release|x64.Build.0 = Release|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug Clang|x64.Build.0 = Debug Clang|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug|x64.ActiveCfg = Debug|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Debug|x64.Build.0 = Debug|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel Clang|x64.Build.0 = Devel Clang|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel|x64.ActiveCfg = Devel|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Devel|x64.Build.0 = Devel|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release AVX2|x64.Build.0 = Release AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release Clang|x64.ActiveCfg = Release Clang|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release Clang|x64.Build.0 = Release Clang|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release|x64.ActiveCfg = Release|x64
{449AD25E-424A-4714-BABC-68706CDCC33B}.Release|x64.Build.0 = Release|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug Clang|x64.Build.0 = Debug Clang|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug|x64.ActiveCfg = Debug|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Debug|x64.Build.0 = Debug|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel Clang|x64.Build.0 = Devel Clang|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel|x64.ActiveCfg = Devel|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Devel|x64.Build.0 = Devel|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release AVX2|x64.Build.0 = Release AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release Clang|x64.ActiveCfg = Release Clang|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release Clang|x64.Build.0 = Release Clang|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release|x64.ActiveCfg = Release|x64
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0}.Release|x64.Build.0 = Release|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug Clang|x64.Build.0 = Debug Clang|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug|x64.ActiveCfg = Debug|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Debug|x64.Build.0 = Debug|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel Clang|x64.Build.0 = Devel Clang|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel|x64.ActiveCfg = Devel|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Devel|x64.Build.0 = Devel|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Release AVX2|x64.Build.0 = Release AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Release Clang|x64.ActiveCfg = Release Clang|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Release Clang|x64.Build.0 = Release Clang|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{4639972E-424E-4E13-8B07-CA403C481346}.Release|x64.ActiveCfg = Release|x64
{4639972E-424E-4E13-8B07-CA403C481346}.Release|x64.Build.0 = Release|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug Clang|x64.Build.0 = Debug Clang|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug|x64.ActiveCfg = Debug|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Debug|x64.Build.0 = Debug|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel Clang|x64.Build.0 = Devel Clang|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel|x64.ActiveCfg = Devel|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Devel|x64.Build.0 = Devel|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release AVX2|x64.Build.0 = Release AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release Clang|x64.ActiveCfg = Release Clang|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release Clang|x64.Build.0 = Release Clang|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release|x64.ActiveCfg = Release|x64
{6C7986C4-3E4D-4DCC-B3C6-6BB12B238995}.Release|x64.Build.0 = Release|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug Clang|x64.Build.0 = Debug Clang|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug|x64.ActiveCfg = Debug|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug|x64.Build.0 = Debug|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel Clang|x64.Build.0 = Devel Clang|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel|x64.ActiveCfg = Devel|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel|x64.Build.0 = Devel|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release AVX2|x64.Build.0 = Release AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release Clang|x64.ActiveCfg = Release Clang|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release Clang|x64.Build.0 = Release Clang|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release|x64.ActiveCfg = Release|x64
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release|x64.Build.0 = Release|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug Clang|x64.Build.0 = Debug Clang|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug|x64.ActiveCfg = Debug|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Debug|x64.Build.0 = Debug|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel Clang|x64.Build.0 = Devel Clang|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel|x64.ActiveCfg = Devel|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Devel|x64.Build.0 = Devel|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release AVX2|x64.Build.0 = Release AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release Clang|x64.ActiveCfg = Release Clang|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release Clang|x64.Build.0 = Release Clang|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release|x64.ActiveCfg = Release|x64
{88FB34EC-845E-4F21-A552-F1573B9ED167}.Release|x64.Build.0 = Release|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug Clang|x64.Build.0 = Debug Clang|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug|x64.ActiveCfg = Debug|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Debug|x64.Build.0 = Debug|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel Clang|x64.Build.0 = Devel Clang|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel|x64.ActiveCfg = Devel|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Devel|x64.Build.0 = Devel|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release AVX2|x64.Build.0 = Release AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release Clang|x64.ActiveCfg = Release Clang|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release Clang|x64.Build.0 = Release Clang|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release|x64.ActiveCfg = Release|x64
{1EC8B3C0-8FB3-46DE-A2E0-A9121203F266}.Release|x64.Build.0 = Release|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug Clang|x64.Build.0 = Debug Clang|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug|x64.ActiveCfg = Debug|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Debug|x64.Build.0 = Debug|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel Clang|x64.Build.0 = Devel Clang|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel|x64.ActiveCfg = Devel|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Devel|x64.Build.0 = Devel|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release AVX2|x64.Build.0 = Release AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release Clang|x64.ActiveCfg = Release Clang|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release Clang|x64.Build.0 = Release Clang|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release|x64.ActiveCfg = Release|x64
{BF74C473-DC04-44B3-92E8-4145F4E77342}.Release|x64.Build.0 = Release|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug Clang|x64.Build.0 = Debug Clang|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug|x64.ActiveCfg = Debug|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Debug|x64.Build.0 = Debug|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel Clang|x64.Build.0 = Devel Clang|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel|x64.ActiveCfg = Devel|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Devel|x64.Build.0 = Devel|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release AVX2|x64.Build.0 = Release AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release Clang|x64.ActiveCfg = Release Clang|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release Clang|x64.Build.0 = Release Clang|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release|x64.ActiveCfg = Release|x64
{DE9653B6-17DD-356A-9EE0-28A731772587}.Release|x64.Build.0 = Release|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug Clang|x64.Build.0 = Debug Clang|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug|x64.ActiveCfg = Debug|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Debug|x64.Build.0 = Debug|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel Clang|x64.Build.0 = Devel Clang|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel|x64.ActiveCfg = Devel|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Devel|x64.Build.0 = Devel|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release AVX2|x64.Build.0 = Release AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release Clang|x64.ActiveCfg = Release Clang|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release Clang|x64.Build.0 = Release Clang|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.ActiveCfg = Release|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.Build.0 = Release|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug Clang|x64.Build.0 = Debug Clang|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug|x64.ActiveCfg = Debug|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Debug|x64.Build.0 = Debug|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel Clang|x64.Build.0 = Devel Clang|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel|x64.ActiveCfg = Devel|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Devel|x64.Build.0 = Devel|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release AVX2|x64.Build.0 = Release AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release Clang|x64.ActiveCfg = Release Clang|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release Clang|x64.Build.0 = Release Clang|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release|x64.ActiveCfg = Release|x64
{D45CEC7A-3171-40DD-975D-E1544CF16139}.Release|x64.Build.0 = Release|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug Clang|x64.Build.0 = Debug Clang|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug|x64.ActiveCfg = Debug|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Debug|x64.Build.0 = Debug|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel Clang|x64.Build.0 = Devel Clang|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel|x64.ActiveCfg = Devel|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Devel|x64.Build.0 = Devel|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release AVX2|x64.Build.0 = Release AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release Clang|x64.ActiveCfg = Release Clang|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release Clang|x64.Build.0 = Release Clang|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release|x64.ActiveCfg = Release|x64
{A4323327-3F2B-4271-83D9-7F9A3C66B6B2}.Release|x64.Build.0 = Release|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug Clang|x64.Build.0 = Debug Clang|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug|x64.ActiveCfg = Debug|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Debug|x64.Build.0 = Debug|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel Clang|x64.Build.0 = Devel Clang|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel|x64.ActiveCfg = Devel|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Devel|x64.Build.0 = Devel|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release AVX2|x64.Build.0 = Release AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release Clang|x64.ActiveCfg = Release Clang|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release Clang|x64.Build.0 = Release Clang|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release|x64.ActiveCfg = Release|x64
{90BBDC04-CC44-4006-B893-06A4FEA8ED47}.Release|x64.Build.0 = Release|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug Clang|x64.Build.0 = Debug Clang|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug|x64.ActiveCfg = Debug|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Debug|x64.Build.0 = Debug|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel Clang|x64.Build.0 = Devel Clang|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel|x64.ActiveCfg = Devel|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Devel|x64.Build.0 = Devel|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release AVX2|x64.Build.0 = Release AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release Clang|x64.ActiveCfg = Release Clang|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release Clang|x64.Build.0 = Release Clang|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release|x64.ActiveCfg = Release|x64
{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}.Release|x64.Build.0 = Release|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug Clang|x64.Build.0 = Debug Clang|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug|x64.ActiveCfg = Debug|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Debug|x64.Build.0 = Debug|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel Clang|x64.Build.0 = Devel Clang|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel|x64.ActiveCfg = Devel|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Devel|x64.Build.0 = Devel|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release AVX2|x64.Build.0 = Release AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release Clang|x64.ActiveCfg = Release Clang|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release Clang|x64.Build.0 = Release Clang|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release|x64.ActiveCfg = Release|x64
{6D5B5AD9-1525-459B-939F-A5E1082AF6B3}.Release|x64.Build.0 = Release|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug Clang|x64.Build.0 = Debug Clang|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug|x64.ActiveCfg = Debug|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Debug|x64.Build.0 = Debug|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel Clang|x64.Build.0 = Devel Clang|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel|x64.ActiveCfg = Devel|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Devel|x64.Build.0 = Devel|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release AVX2|x64.Build.0 = Release AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release Clang|x64.ActiveCfg = Release Clang|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release Clang|x64.Build.0 = Release Clang|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release|x64.ActiveCfg = Release|x64
{95DD0A0C-D14D-4CFF-A593-820EF26EFCC8}.Release|x64.Build.0 = Release|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug Clang|x64.Build.0 = Debug Clang|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug|x64.ActiveCfg = Debug|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Debug|x64.Build.0 = Debug|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel Clang|x64.Build.0 = Devel Clang|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel|x64.ActiveCfg = Devel|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Devel|x64.Build.0 = Devel|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release AVX2|x64.Build.0 = Release AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release Clang|x64.ActiveCfg = Release Clang|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release Clang|x64.Build.0 = Release Clang|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release|x64.ActiveCfg = Release|x64
{E960DFDF-1BD3-4C29-B251-D1A0919C9B09}.Release|x64.Build.0 = Release|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Debug|x64.ActiveCfg = Debug|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Devel|x64.ActiveCfg = Devel|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Release Clang|x64.ActiveCfg = Release Clang|x64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{BB98BF81-A132-444A-BB81-96D510F433A8}.Release|x64.ActiveCfg = Release|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug Clang|x64.Build.0 = Debug Clang|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug|x64.ActiveCfg = Debug|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Debug|x64.Build.0 = Debug|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel Clang|x64.Build.0 = Devel Clang|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel|x64.ActiveCfg = Devel|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Devel|x64.Build.0 = Devel|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release AVX2|x64.Build.0 = Release AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release Clang|x64.ActiveCfg = Release Clang|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release Clang|x64.Build.0 = Release Clang|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release|x64.ActiveCfg = Release|x64
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF}.Release|x64.Build.0 = Release|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug Clang|x64.Build.0 = Debug Clang|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug|x64.ActiveCfg = Debug|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Debug|x64.Build.0 = Debug|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel Clang|x64.Build.0 = Devel Clang|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel|x64.ActiveCfg = Devel|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Devel|x64.Build.0 = Devel|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release AVX2|x64.Build.0 = Release AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release Clang|x64.ActiveCfg = Release Clang|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release Clang|x64.Build.0 = Release Clang|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release|x64.ActiveCfg = Release|x64
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F}.Release|x64.Build.0 = Release|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug AVX2|x64.Build.0 = Debug AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug Clang AVX2|x64.Build.0 = Debug Clang AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug Clang|x64.Build.0 = Debug Clang|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug|x64.ActiveCfg = Debug|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Debug|x64.Build.0 = Debug|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel AVX2|x64.Build.0 = Devel AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel Clang AVX2|x64.Build.0 = Devel Clang AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel Clang|x64.Build.0 = Devel Clang|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel|x64.ActiveCfg = Devel|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Devel|x64.Build.0 = Devel|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release AVX2|x64.Build.0 = Release AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release Clang AVX2|x64.Build.0 = Release Clang AVX2|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release Clang|x64.ActiveCfg = Release Clang|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release Clang|x64.Build.0 = Release Clang|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release|x64.ActiveCfg = Release|x64
{1DD0B31F-37F0-4A36-A521-74133ACA4737}.Release|x64.Build.0 = Release|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Debug AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Debug AVX2|x64.ActiveCfg = Debug AVX2|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Debug Clang AVX2|ARM64.ActiveCfg = Debug Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Debug Clang AVX2|x64.ActiveCfg = Debug Clang AVX2|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Debug Clang|ARM64.ActiveCfg = Debug Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Debug Clang|ARM64.Build.0 = Debug Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Debug Clang|x64.ActiveCfg = Debug Clang|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Debug|ARM64.ActiveCfg = Debug Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Debug|x64.ActiveCfg = Debug|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Devel AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Devel AVX2|x64.ActiveCfg = Devel AVX2|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Devel Clang AVX2|ARM64.ActiveCfg = Devel Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Devel Clang AVX2|x64.ActiveCfg = Devel Clang AVX2|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Devel Clang|ARM64.ActiveCfg = Devel Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Devel Clang|ARM64.Build.0 = Devel Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Devel Clang|x64.ActiveCfg = Devel Clang|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Devel|ARM64.ActiveCfg = Devel Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Devel|x64.ActiveCfg = Devel|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Release AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Release AVX2|x64.ActiveCfg = Release AVX2|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Release Clang AVX2|ARM64.ActiveCfg = Release Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Release Clang AVX2|x64.ActiveCfg = Release Clang AVX2|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Release Clang|ARM64.ActiveCfg = Release Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Release Clang|ARM64.Build.0 = Release Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Release Clang|x64.ActiveCfg = Release Clang|x64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Release|ARM64.ActiveCfg = Release Clang|ARM64
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -630,6 +1010,7 @@ Global
{67D0160C-0FE4-44B9-AC2E-82BBCF4104DF} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
{1E3D706C-1D95-4E1B-BDF2-CA3D0007DF7F} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
{1DD0B31F-37F0-4A36-A521-74133ACA4737} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0BC474EA-3628-45D3-9DBC-E22D0B7E0F77}

View File

@ -99,6 +99,21 @@ if("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "x86_64" OR "${CMAKE_HOST_SYSTEM_PR
endif()
endif()
endif()
elseif("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "arm64" OR "${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "aarch64" OR
"${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
message(STATUS "Building for Apple Silicon (ARM64).")
list(APPEND PCSX2_DEFS _M_ARM64=1)
set(_M_ARM64 TRUE)
add_compile_options("-march=armv8.4-a" "-mcpu=apple-m1")
# If we're running on Linux, we need to detect the page/cache line size.
# It could be a virtual machine with 4K pages, or 16K with Asahi.
if(LINUX)
detect_page_size()
list(APPEND PCSX2_DEFS OVERRIDE_HOST_PAGE_SIZE=${HOST_PAGE_SIZE})
detect_cache_line_size()
list(APPEND PCSX2_DEFS OVERRIDE_HOST_CACHE_LINE_SIZE=${HOST_CACHE_LINE_SIZE})
endif()
else()
message(FATAL_ERROR "Unsupported architecture: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
endif()

View File

@ -222,3 +222,68 @@ function(disable_compiler_warnings_for_target target)
target_compile_options(${target} PRIVATE "-w")
endif()
endfunction()
function(detect_page_size)
message(STATUS "Determining host page size")
set(detect_page_size_file ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c)
file(WRITE ${detect_page_size_file} "
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
int res = sysconf(_SC_PAGESIZE);
printf(\"%d\", res);
return (res > 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}")
try_run(
detect_page_size_run_result
detect_page_size_compile_result
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}
${detect_page_size_file}
RUN_OUTPUT_VARIABLE detect_page_size_output)
if(NOT detect_page_size_compile_result OR NOT detect_page_size_run_result EQUAL 0 OR CMAKE_CROSSCOMPILING)
message(FATAL_ERROR "Could not determine host page size.")
else()
message(STATUS "Host page size: ${detect_page_size_output}")
set(HOST_PAGE_SIZE ${detect_page_size_output} CACHE STRING "Reported host page size")
endif()
endfunction()
function(detect_cache_line_size)
message(STATUS "Determining host cache line size")
set(detect_cache_line_size_file ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c)
file(WRITE ${detect_cache_line_size_file} "
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
int l1i = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
int l1d = sysconf(_SC_LEVEL1_ICACHE_LINESIZE);
int res = (l1i > l1d) ? l1i : l1d;
for (int index = 0; index < 16; index++) {
char buf[128];
snprintf(buf, sizeof(buf), \"/sys/devices/system/cpu/cpu0/cache/index%d/coherency_line_size\", index);
FILE* fp = fopen(buf, \"rb\");
if (!fp)
break;
fread(buf, sizeof(buf), 1, fp);
fclose(fp);
int val = atoi(buf);
res = (val > res) ? val : res;
}
printf(\"%d\", res);
return (res > 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}")
try_run(
detect_cache_line_size_run_result
detect_cache_line_size_compile_result
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}
${detect_cache_line_size_file}
RUN_OUTPUT_VARIABLE detect_cache_line_size_output)
if(NOT detect_cache_line_size_compile_result OR NOT detect_cache_line_size_run_result EQUAL 0 OR CMAKE_CROSSCOMPILING)
message(FATAL_ERROR "Could not determine host cache line size.")
else()
message(STATUS "Host cache line size: ${detect_cache_line_size_output}")
set(HOST_CACHE_LINE_SIZE ${detect_cache_line_size_output} CACHE STRING "Reported host cache line size")
endif()
endfunction()

View File

@ -83,7 +83,6 @@ add_subdirectory(3rdparty/simpleini EXCLUDE_FROM_ALL)
add_subdirectory(3rdparty/imgui EXCLUDE_FROM_ALL)
add_subdirectory(3rdparty/cpuinfo EXCLUDE_FROM_ALL)
disable_compiler_warnings_for_target(cpuinfo)
add_subdirectory(3rdparty/zydis EXCLUDE_FROM_ALL)
add_subdirectory(3rdparty/libzip EXCLUDE_FROM_ALL)
add_subdirectory(3rdparty/rcheevos EXCLUDE_FROM_ALL)
add_subdirectory(3rdparty/rapidjson EXCLUDE_FROM_ALL)
@ -113,6 +112,13 @@ endif()
# Demangler for the debugger
add_subdirectory(3rdparty/demangler EXCLUDE_FROM_ALL)
# Architecture-specific.
if(_M_X86)
add_subdirectory(3rdparty/zydis EXCLUDE_FROM_ALL)
elseif(_M_ARM64)
add_subdirectory(3rdparty/vixl EXCLUDE_FROM_ALL)
endif()
# Prevent fmt from being built with exceptions, or being thrown at call sites.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DFMT_EXCEPTIONS=0")
add_subdirectory(3rdparty/fmt EXCLUDE_FROM_ALL)

View File

@ -34,16 +34,6 @@ target_sources(common PRIVATE
Timer.cpp
WAVWriter.cpp
WindowInfo.cpp
emitter/avx.cpp
emitter/bmi.cpp
emitter/fpu.cpp
emitter/groups.cpp
emitter/jmp.cpp
emitter/legacy.cpp
emitter/legacy_sse.cpp
emitter/movs.cpp
emitter/simd.cpp
emitter/x86emitter.cpp
)
# x86emitter headers
@ -92,31 +82,49 @@ target_sources(common PRIVATE
WAVWriter.h
WindowInfo.h
WrappedMemCopy.h
emitter/implement/dwshift.h
emitter/implement/group1.h
emitter/implement/group2.h
emitter/implement/group3.h
emitter/implement/helpers.h
emitter/implement/incdec.h
emitter/implement/jmpcall.h
emitter/implement/movs.h
emitter/implement/simd_arithmetic.h
emitter/implement/simd_comparisons.h
emitter/implement/simd_helpers.h
emitter/implement/simd_moremovs.h
emitter/implement/simd_shufflepack.h
emitter/implement/simd_templated_helpers.h
emitter/implement/test.h
emitter/implement/xchg.h
emitter/instructions.h
emitter/internal.h
emitter/legacy_instructions.h
emitter/legacy_internal.h
emitter/legacy_types.h
emitter/x86emitter.h
emitter/x86types.h
)
if(_M_X86)
target_sources(common PRIVATE
emitter/avx.cpp
emitter/bmi.cpp
emitter/fpu.cpp
emitter/groups.cpp
emitter/jmp.cpp
emitter/legacy.cpp
emitter/legacy_sse.cpp
emitter/movs.cpp
emitter/simd.cpp
emitter/x86emitter.cpp
)
target_sources(common PRIVATE
emitter/implement/dwshift.h
emitter/implement/group1.h
emitter/implement/group2.h
emitter/implement/group3.h
emitter/implement/helpers.h
emitter/implement/incdec.h
emitter/implement/jmpcall.h
emitter/implement/movs.h
emitter/implement/simd_arithmetic.h
emitter/implement/simd_comparisons.h
emitter/implement/simd_helpers.h
emitter/implement/simd_moremovs.h
emitter/implement/simd_shufflepack.h
emitter/implement/simd_templated_helpers.h
emitter/implement/test.h
emitter/implement/xchg.h
emitter/instructions.h
emitter/internal.h
emitter/legacy_instructions.h
emitter/legacy_internal.h
emitter/legacy_types.h
emitter/x86emitter.h
emitter/x86types.h
)
endif()
if(WIN32)
enable_language(ASM_MASM)
target_sources(common PRIVATE

View File

@ -49,7 +49,7 @@
<ClCompile Include="DynamicLibrary.cpp" />
<ClCompile Include="Error.cpp" />
<ClCompile Include="FastJmp.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Platform)'!='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="FileSystem.cpp" />
<ClCompile Include="Image.cpp" />
@ -79,19 +79,41 @@
<ClCompile Include="Windows\WinThreads.cpp" />
<ClCompile Include="HostSys.cpp" />
<ClCompile Include="Semaphore.cpp" />
<ClCompile Include="emitter\avx.cpp" />
<ClCompile Include="emitter\bmi.cpp" />
<ClCompile Include="emitter\fpu.cpp" />
<ClCompile Include="emitter\groups.cpp" />
<ClCompile Include="emitter\jmp.cpp" />
<ClCompile Include="emitter\legacy.cpp" />
<ClCompile Include="emitter\legacy_sse.cpp" />
<ClCompile Include="emitter\movs.cpp" />
<ClCompile Include="emitter\simd.cpp" />
<ClCompile Include="emitter\x86emitter.cpp" />
<ClCompile Include="emitter\avx.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="emitter\bmi.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="emitter\fpu.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="emitter\groups.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="emitter\jmp.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="emitter\legacy.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="emitter\legacy_sse.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="emitter\movs.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="emitter\simd.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="emitter\x86emitter.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
</ItemGroup>
<ItemGroup>
<MASM Include="FastJmp.asm" />
<MASM Include="FastJmp.asm">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</MASM>
</ItemGroup>
<ItemGroup>
<ClInclude Include="BitUtils.h" />

View File

@ -21,7 +21,7 @@
<Configuration>Devel</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Devel AVX2|x64">
<ProjectConfiguration Include="Devel AVX2|x64">
<Configuration>Devel AVX2</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
@ -49,6 +49,18 @@
<Configuration>Release Clang AVX2</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Clang|ARM64">
<Configuration>Debug Clang</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Devel Clang|ARM64">
<Configuration>Devel Clang</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Clang|ARM64">
<Configuration>Release Clang</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<!-- This better belongs in BaseProperies.props, but it needs to be set before the default props file is imported. -->

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutDir>$(SolutionDir)bin\</OutDir>
<OutDir Condition="'$(Platform)'!='ARM64'">$(SolutionDir)bin\</OutDir>
<OutDir Condition="'$(Platform)'=='ARM64'">$(SolutionDir)bin-arm64\</OutDir>
</PropertyGroup>
</Project>

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<QtBinaryOutputDir>$(SolutionDir)bin\</QtBinaryOutputDir>
<QtBinaryOutputDir Condition="'$(Platform)'!='ARM64'">$(SolutionDir)bin\</QtBinaryOutputDir>
<QtBinaryOutputDir Condition="'$(Platform)'=='ARM64'">$(SolutionDir)bin-arm64\</QtBinaryOutputDir>
<PCSX2QTDIRDefault Condition="'$(Platform)'=='x64'">$(SolutionDir)deps\</PCSX2QTDIRDefault>
<PCSX2QTDIRDefault Condition="'$(Platform)'=='ARM64'">$(SolutionDir)deps-arm64\</PCSX2QTDIRDefault>
<PCSX2QTDIR Condition="Exists('$(PCSX2QTDIRDefault)') And ('$(PCSX2QTDIR)'=='' Or !Exists('$(PCSX2QTDIR)'))">$(PCSX2QTDIRDefault)</PCSX2QTDIR>

View File

@ -50,11 +50,12 @@
<FloatingPointModel>Precise</FloatingPointModel>
<!-- MSVC automatically adds __AVX__ and __AVX2__ appropriately -->
<PreprocessorDefinitions>_M_X86;__SSE4_1__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'=='x64'">_M_X86;__SSE4_1__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnableEnhancedInstructionSet Condition="!$(Configuration.Contains(AVX2)) Or $(Configuration.Contains(Clang))">NotSet</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="$(Configuration.Contains(AVX2)) And !$(Configuration.Contains(Clang))">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<AdditionalOptions Condition="$(Configuration.Contains(Clang)) And !$(Configuration.Contains(AVX2))"> -march=nehalem %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="$(Configuration.Contains(Clang)) And $(Configuration.Contains(AVX2))"> -march=haswell %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="'$(Platform)'=='x64' And $(Configuration.Contains(Clang)) And !$(Configuration.Contains(AVX2))"> -march=nehalem %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="'$(Platform)'=='x64' And $(Configuration.Contains(Clang)) And $(Configuration.Contains(AVX2))"> -march=haswell %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="'$(Platform)'=='ARM64' And $(Configuration.Contains(Clang))"> -march=armv8.4-a %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="!$(Configuration.Contains(Clang))">%(AdditionalOptions) /Zc:externConstexpr /Zc:__cplusplus /Zo /utf-8</AdditionalOptions>
<!-- Force ThinLTO for Release builds, MSVC doesn't seem to do it otherwise. -->
@ -63,7 +64,8 @@
</ClCompile>
<Link>
<AdditionalDependencies>comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;rpcrt4.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>dxguid.lib;dinput8.lib;hid.lib;PowrProf.lib;d3dcompiler.lib;d3d11.lib;d3d12.lib;dxgi.lib;strmiids.lib;opengl32.lib;comsuppw.lib;OneCore.lib;dwmapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>dxguid.lib;dinput8.lib;hid.lib;PowrProf.lib;d3dcompiler.lib;d3d11.lib;d3d12.lib;dxgi.lib;strmiids.lib;comsuppw.lib;OneCore.lib;dwmapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies Condition="'$(Platform)'!='ARM64'">opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>

View File

@ -50,7 +50,8 @@
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>PrecompiledHeader.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>PrecompiledHeader.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<PreprocessorDefinitions>LZMA_API_STATIC;ENABLE_RAINTEGRATION;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'!='ARM64'">ENABLE_RAINTEGRATION;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>LZMA_API_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>QT_NO_EXCEPTIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<!-- Current Qt debug builds assert on RTTI. Remove this once we next build Qt. -->
<RuntimeTypeInfo Condition="$(Configuration.Contains(Debug))">true</RuntimeTypeInfo>

View File

@ -1016,9 +1016,6 @@ set(pcsx2LTOSources
if(LTO_PCSX2_CORE)
add_library(PCSX2_LTO ${pcsx2LTOSources})
if (WIN32)
target_compile_definitions(PCSX2_LTO PRIVATE _M_SSE=0x401)
endif()
if (DISABLE_ADVANCE_SIMD)
target_compile_definitions(PCSX2_LTO PRIVATE MULTI_ISA_SHARED_COMPILATION)
endif()
@ -1091,7 +1088,6 @@ target_link_libraries(PCSX2_FLAGS INTERFACE
libchdr
libzip::zip
cpuinfo
zydis
cubeb
rcheevos
discord-rpc
@ -1138,16 +1134,16 @@ else()
endif()
# additonal include directories
if(_M_X86)
target_include_directories(PCSX2_FLAGS INTERFACE "${CMAKE_SOURCE_DIR}/3rdparty/xbyak")
target_compile_definitions(PCSX2_FLAGS INTERFACE XBYAK_NO_EXCEPTION)
endif()
target_include_directories(PCSX2_FLAGS INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_BINARY_DIR}/pcsx2"
"${CMAKE_BINARY_DIR}/common/include"
"${CMAKE_SOURCE_DIR}/3rdparty/xbyak"
"${FFMPEG_INCLUDE_DIRS}"
)
target_compile_definitions(PCSX2_FLAGS INTERFACE
XBYAK_NO_EXCEPTION
)
set_source_files_properties(PrecompiledHeader.cpp PROPERTIES HEADER_FILE_ONLY TRUE)
if(COMMAND target_precompile_headers)

View File

@ -48,18 +48,21 @@
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\discord-rpc\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\jpgd</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\ffmpeg\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\glad\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\vulkan\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Platform)'=='x64'">%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\glad\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Platform)'=='x64'">%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\vulkan\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\d3d12memalloc\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\lzma\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\freesurround\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\xbyak</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\zydis\include;$(SolutionDir)3rdparty\zydis\dependencies\zycore\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Platform)'=='x64'">%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\xbyak</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Platform)'=='x64'">%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\zydis\include;$(SolutionDir)3rdparty\zydis\dependencies\zycore\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Platform)'=='ARM64'">%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\vixl\include</AdditionalIncludeDirectories>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>PrecompiledHeader.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>PrecompiledHeader.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<PreprocessorDefinitions>C4_NO_DEBUG_BREAK;ST_NO_EXCEPTION_HANDLING;ENABLE_RAINTEGRATION;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>C4_NO_DEBUG_BREAK;ST_NO_EXCEPTION_HANDLING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'!='ARM64'">ENABLE_RAINTEGRATION;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'=='x64'">XBYAK_NO_EXCEPTION;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'=='ARM64'">VIXL_INCLUDE_TARGET_AARCH64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName>
</ClCompile>
</ItemDefinitionGroup>
@ -87,7 +90,9 @@
<None Include="..\bin\resources\shaders\dx11\tfx.fx" />
<None Include="..\bin\resources\shaders\dx11\imgui.fx" />
<None Include="..\bin\resources\shaders\dx11\present.fx" />
<None Include="GS\Renderers\Vulkan\VKEntryPoints.inl" />
<None Include="GS\Renderers\Vulkan\VKEntryPoints.inl">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</None>
<None Include="Docs\License.txt" />
<None Include="ps2\eeHwTraceLog.inl" />
<None Include="x86\microVU_Alloc.inl" />
@ -187,17 +192,39 @@
<ClCompile Include="GS\Renderers\DX12\D3D12DescriptorHeapManager.cpp" />
<ClCompile Include="GS\Renderers\DX12\D3D12ShaderCache.cpp" />
<ClCompile Include="GS\Renderers\DX12\D3D12StreamBuffer.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GLContext.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GLContextWGL.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GLProgram.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GLShaderCache.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GLStreamBuffer.cpp" />
<ClCompile Include="GS\Renderers\Vulkan\VKBuilders.cpp" />
<ClCompile Include="GS\Renderers\Vulkan\VKLoader.cpp" />
<ClCompile Include="GS\Renderers\Vulkan\VKShaderCache.cpp" />
<ClCompile Include="GS\Renderers\Vulkan\VKStreamBuffer.cpp" />
<ClCompile Include="GS\Renderers\Vulkan\VKSwapChain.cpp" />
<ClCompile Include="GS\Renderers\Vulkan\vk_mem_alloc.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GLContext.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\OpenGL\GLContextWGL.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\OpenGL\GLProgram.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\OpenGL\GLShaderCache.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\OpenGL\GLStreamBuffer.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\Vulkan\VKBuilders.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\Vulkan\VKLoader.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\Vulkan\VKShaderCache.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\Vulkan\VKStreamBuffer.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\Vulkan\VKSwapChain.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\Vulkan\vk_mem_alloc.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="Host\AudioStream.cpp" />
<ClCompile Include="Host\CubebAudioStream.cpp" />
<ClCompile Include="Host\SDLAudioStream.cpp" />
@ -216,8 +243,12 @@
<ClCompile Include="GS\Renderers\DX12\GSTexture12.cpp" />
<ClCompile Include="GS\Renderers\HW\GSTextureReplacementLoaders.cpp" />
<ClCompile Include="GS\Renderers\HW\GSTextureReplacements.cpp" />
<ClCompile Include="GS\Renderers\Vulkan\GSDeviceVK.cpp" />
<ClCompile Include="GS\Renderers\Vulkan\GSTextureVK.cpp" />
<ClCompile Include="GS\Renderers\Vulkan\GSDeviceVK.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\Vulkan\GSTextureVK.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="Host.cpp" />
<ClCompile Include="Input\DInputSource.cpp" />
<ClCompile Include="Input\InputManager.cpp" />
@ -271,14 +302,18 @@
<ClCompile Include="Dmac.cpp" />
<ClCompile Include="ShiftJisToUnicode.cpp" />
<ClCompile Include="sif2.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GLState.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GLState.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\GS.cpp" />
<ClCompile Include="GS\GSBlock.cpp" />
<ClCompile Include="GS\GSCapture.cpp" />
<ClCompile Include="GS\GSClut.cpp" />
<ClCompile Include="GS\Renderers\Common\GSDevice.cpp" />
<ClCompile Include="GS\Renderers\DX11\GSDevice11.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GSDeviceOGL.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GSDeviceOGL.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\Common\GSDirtyRect.cpp" />
<ClCompile Include="GS\GSDrawingContext.cpp" />
<ClCompile Include="GS\Renderers\SW\GSDrawScanline.cpp" />
@ -303,7 +338,9 @@
<ClCompile Include="GS\GSTables.cpp" />
<ClCompile Include="GS\Renderers\Common\GSTexture.cpp" />
<ClCompile Include="GS\Renderers\DX11\GSTexture11.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GSTextureOGL.cpp" />
<ClCompile Include="GS\Renderers\OpenGL\GSTextureOGL.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GS\Renderers\HW\GSTextureCache.cpp" />
<ClCompile Include="GS\Renderers\SW\GSTextureCacheSW.cpp" />
<ClCompile Include="GS\GSUtil.cpp" />
@ -347,7 +384,9 @@
<ClCompile Include="SourceLog.cpp" />
<ClCompile Include="Elfheader.cpp" />
<ClCompile Include="CDVD\InputIsoFile.cpp" />
<ClCompile Include="x86\BaseblockEx.cpp" />
<ClCompile Include="x86\BaseblockEx.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="ps2\BiosTools.cpp" />
<ClCompile Include="Counters.cpp" />
<ClCompile Include="FiFo.cpp" />
@ -356,13 +395,19 @@
<ClCompile Include="HwWrite.cpp" />
<ClCompile Include="Cache.cpp" />
<ClCompile Include="Memory.cpp" />
<ClCompile Include="x86\iR5900Analysis.cpp" />
<ClCompile Include="x86\ix86-32\recVTLB.cpp" />
<ClCompile Include="x86\iR5900Analysis.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\recVTLB.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="vtlb.cpp" />
<ClCompile Include="MTVU.cpp" />
<ClCompile Include="VUmicro.cpp" />
<ClCompile Include="VUmicroMem.cpp" />
<ClCompile Include="x86\microVU.cpp" />
<ClCompile Include="x86\microVU.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="VU0.cpp" />
<ClCompile Include="VU0micro.cpp" />
<ClCompile Include="VU0microInterp.cpp" />
@ -380,27 +425,63 @@
<ClCompile Include="Vif_Codes.cpp" />
<ClCompile Include="Vif_Transfer.cpp" />
<ClCompile Include="Vif_Unpack.cpp" />
<ClCompile Include="x86\newVif_Unpack.cpp" />
<ClCompile Include="x86\newVif_Dynarec.cpp" />
<ClCompile Include="x86\newVif_UnpackSSE.cpp" />
<ClCompile Include="x86\newVif_Unpack.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\newVif_Dynarec.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\newVif_UnpackSSE.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="SPR.cpp" />
<ClCompile Include="Gif.cpp" />
<ClCompile Include="R5900OpcodeTables.cpp" />
<ClCompile Include="x86\iCOP0.cpp" />
<ClCompile Include="x86\iFPU.cpp" />
<ClCompile Include="x86\iFPUd.cpp" />
<ClCompile Include="x86\iMMI.cpp" />
<ClCompile Include="x86\iR5900Misc.cpp" />
<ClCompile Include="x86\ix86-32\iR5900.cpp" />
<ClCompile Include="x86\ix86-32\iR5900Arit.cpp" />
<ClCompile Include="x86\ix86-32\iR5900AritImm.cpp" />
<ClCompile Include="x86\ix86-32\iR5900Branch.cpp" />
<ClCompile Include="x86\ix86-32\iR5900Jump.cpp" />
<ClCompile Include="x86\ix86-32\iR5900LoadStore.cpp" />
<ClCompile Include="x86\ix86-32\iR5900Move.cpp" />
<ClCompile Include="x86\ix86-32\iR5900MultDiv.cpp" />
<ClCompile Include="x86\ix86-32\iR5900Shift.cpp" />
<ClCompile Include="x86\ix86-32\iR5900Templates.cpp" />
<ClCompile Include="x86\iCOP0.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\iFPU.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\iFPUd.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\iMMI.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\iR5900Misc.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900Arit.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900AritImm.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900Branch.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900Jump.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900LoadStore.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900Move.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900MultDiv.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900Shift.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iR5900Templates.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="COP0.cpp" />
<ClCompile Include="COP2.cpp" />
<ClCompile Include="FPU.cpp" />
@ -416,8 +497,12 @@
<ClCompile Include="R3000A.cpp" />
<ClCompile Include="R3000AInterpreter.cpp" />
<ClCompile Include="R3000AOpcodeTables.cpp" />
<ClCompile Include="x86\iR3000A.cpp" />
<ClCompile Include="x86\iR3000Atables.cpp" />
<ClCompile Include="x86\iR3000A.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\iR3000Atables.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="IopHw.cpp" />
<ClCompile Include="ps2\Iop\IopHwRead.cpp" />
<ClCompile Include="ps2\Iop\IopHwWrite.cpp" />
@ -453,8 +538,12 @@
<ClCompile Include="rdebug\deci2_ttyp.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\ix86-32\iCore.cpp" />
<ClCompile Include="x86\iCore.cpp" />
<ClCompile Include="x86\ix86-32\iCore.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\iCore.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Achievements.h" />
@ -527,17 +616,39 @@
<ClInclude Include="GS\Renderers\DX12\D3D12ShaderCache.h" />
<ClInclude Include="GS\Renderers\DX12\D3D12StreamBuffer.h" />
<ClInclude Include="GS\Renderers\HW\GSHwHack.h" />
<ClInclude Include="GS\Renderers\OpenGL\GLContext.h" />
<ClInclude Include="GS\Renderers\OpenGL\GLContextWGL.h" />
<ClInclude Include="GS\Renderers\OpenGL\GLProgram.h" />
<ClInclude Include="GS\Renderers\OpenGL\GLShaderCache.h" />
<ClInclude Include="GS\Renderers\OpenGL\GLStreamBuffer.h" />
<ClInclude Include="GS\Renderers\Vulkan\VKBuilders.h" />
<ClInclude Include="GS\Renderers\Vulkan\VKEntryPoints.h" />
<ClInclude Include="GS\Renderers\Vulkan\VKLoader.h" />
<ClInclude Include="GS\Renderers\Vulkan\VKShaderCache.h" />
<ClInclude Include="GS\Renderers\Vulkan\VKStreamBuffer.h" />
<ClInclude Include="GS\Renderers\Vulkan\VKSwapChain.h" />
<ClInclude Include="GS\Renderers\OpenGL\GLContext.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\OpenGL\GLContextWGL.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\OpenGL\GLProgram.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\OpenGL\GLShaderCache.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\OpenGL\GLStreamBuffer.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\Vulkan\VKBuilders.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\Vulkan\VKEntryPoints.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\Vulkan\VKLoader.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\Vulkan\VKShaderCache.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\Vulkan\VKStreamBuffer.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\Vulkan\VKSwapChain.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="Host\AudioStream.h" />
<ClInclude Include="Host\AudioStreamTypes.h" />
<ClInclude Include="ImGui\FullscreenUI.h" />
@ -553,8 +664,12 @@
<ClInclude Include="GS\Renderers\DX12\GSDevice12.h" />
<ClInclude Include="GS\Renderers\DX12\GSTexture12.h" />
<ClInclude Include="GS\Renderers\HW\GSTextureReplacements.h" />
<ClInclude Include="GS\Renderers\Vulkan\GSDeviceVK.h" />
<ClInclude Include="GS\Renderers\Vulkan\GSTextureVK.h" />
<ClInclude Include="GS\Renderers\Vulkan\GSDeviceVK.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\Vulkan\GSTextureVK.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="Host.h" />
<ClInclude Include="Input\DInputSource.h" />
<ClInclude Include="Input\InputManager.h" />
@ -595,7 +710,9 @@
<ClInclude Include="SPU2\defs.h" />
<ClInclude Include="SPU2\regs.h" />
<ClInclude Include="SPU2\spu2.h" />
<ClInclude Include="GS\Renderers\OpenGL\GLState.h" />
<ClInclude Include="GS\Renderers\OpenGL\GLState.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\GS.h" />
<ClInclude Include="GS\GSExtra.h" />
<ClInclude Include="GS\GSGL.h" />
@ -606,7 +723,9 @@
<ClInclude Include="GS\GSClut.h" />
<ClInclude Include="GS\Renderers\Common\GSDevice.h" />
<ClInclude Include="GS\Renderers\DX11\GSDevice11.h" />
<ClInclude Include="GS\Renderers\OpenGL\GSDeviceOGL.h" />
<ClInclude Include="GS\Renderers\OpenGL\GSDeviceOGL.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\Common\GSDirtyRect.h" />
<ClInclude Include="GS\GSDrawingContext.h" />
<ClInclude Include="GS\GSDrawingEnvironment.h" />
@ -632,7 +751,9 @@
<ClInclude Include="GS\GSTables.h" />
<ClInclude Include="GS\Renderers\Common\GSTexture.h" />
<ClInclude Include="GS\Renderers\DX11\GSTexture11.h" />
<ClInclude Include="GS\Renderers\OpenGL\GSTextureOGL.h" />
<ClInclude Include="GS\Renderers\OpenGL\GSTextureOGL.h">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="GS\Renderers\HW\GSTextureCache.h" />
<ClInclude Include="GS\Renderers\SW\GSTextureCacheSW.h" />
<ClInclude Include="GS\GSJobQueue.h" />
@ -817,7 +938,7 @@
<ProjectReference Include="..\3rdparty\cpuinfo\cpuinfo.vcxproj">
<Project>{7e183337-a7e9-460c-9d3d-568bc9f9bcc1}</Project>
</ProjectReference>
<ProjectReference Include="..\3rdparty\rainterface\rainterface.vcxproj">
<ProjectReference Include="..\3rdparty\rainterface\rainterface.vcxproj" Condition="'$(Platform)'=='x64'">
<Project>{95dd0a0c-d14d-4cff-a593-820ef26efcc8}</Project>
</ProjectReference>
<ProjectReference Include="..\3rdparty\rcheevos\rcheevos.vcxproj">
@ -826,9 +947,12 @@
<ProjectReference Include="..\common\common.vcxproj">
<Project>{4639972e-424e-4e13-8b07-ca403c481346}</Project>
</ProjectReference>
<ProjectReference Include="..\3rdparty\glad\glad.vcxproj">
<ProjectReference Include="..\3rdparty\glad\glad.vcxproj" Condition="'$(Platform)'=='x64'">
<Project>{c0293b32-5acf-40f0-aa6c-e6da6f3bf33a}</Project>
</ProjectReference>
<ProjectReference Include="..\3rdparty\vixl\vixl.vcxproj" Condition="'$(Platform)'=='ARM64'">
<Project>{8906836e-f06e-46e8-b11a-74e5e8c7b8fb}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Natvis Include="GS\GS.natvis" />

View File

@ -2,11 +2,16 @@ add_pcsx2_test(common_test
byteswap_tests.cpp
path_tests.cpp
string_util_tests.cpp
x86emitter/codegen_tests.cpp
x86emitter/codegen_tests.h
x86emitter/codegen_tests_main.cpp
)
if(_M_X86)
target_sources(common_test PRIVATE
x86emitter/codegen_tests.cpp
x86emitter/codegen_tests.h
x86emitter/codegen_tests_main.cpp
)
endif()
target_link_libraries(common_test PRIVATE
common
)