From 6ee99d8b81bf20dd767349542c5a8899f5aff1a8 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Thu, 21 Mar 2024 16:19:17 +1000 Subject: [PATCH] Build: Add ARM64 configurations --- 3rdparty/3rdparty.props | 5 +- CMakeLists.txt | 15 + PCSX2_qt.sln | 381 +++++++++++++++++++++++++ cmake/BuildParameters.cmake | 15 + cmake/Pcsx2Utils.cmake | 65 +++++ cmake/SearchForStuff.cmake | 8 +- common/CMakeLists.txt | 74 ++--- common/common.vcxproj | 46 ++- common/vsprops/BaseProjectConfig.props | 14 +- common/vsprops/BaseProperties.props | 2 +- common/vsprops/QtCompile.props | 3 +- common/vsprops/common.props | 10 +- pcsx2-qt/pcsx2-qt.vcxproj | 3 +- pcsx2/CMakeLists.txt | 12 +- pcsx2/pcsx2.vcxproj | 256 ++++++++++++----- tests/ctest/common/CMakeLists.txt | 11 +- 16 files changed, 787 insertions(+), 133 deletions(-) diff --git a/3rdparty/3rdparty.props b/3rdparty/3rdparty.props index 4ba8dc5d3a..5e8a2090d1 100644 --- a/3rdparty/3rdparty.props +++ b/3rdparty/3rdparty.props @@ -25,8 +25,9 @@ _M_X86;__SSE4_1__;%(PreprocessorDefinitions) NotSet AdvancedVectorExtensions2 - -march=nehalem %(AdditionalOptions) - -march=haswell %(AdditionalOptions) + -march=nehalem %(AdditionalOptions) + -march=haswell %(AdditionalOptions) + -march=armv8.4-a %(AdditionalOptions) %(AdditionalOptions) /Zc:externConstexpr /Zc:__cplusplus /Zo /utf-8 diff --git a/CMakeLists.txt b/CMakeLists.txt index 38200c5d80..149b6fa64a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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() diff --git a/PCSX2_qt.sln b/PCSX2_qt.sln index c75183a89a..1c64631cb8 100644 --- a/PCSX2_qt.sln +++ b/PCSX2_qt.sln @@ -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} diff --git a/cmake/BuildParameters.cmake b/cmake/BuildParameters.cmake index 4de2c1fe02..2e24f1f1c0 100644 --- a/cmake/BuildParameters.cmake +++ b/cmake/BuildParameters.cmake @@ -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() diff --git a/cmake/Pcsx2Utils.cmake b/cmake/Pcsx2Utils.cmake index 6478a5b8ef..157758c0ee 100644 --- a/cmake/Pcsx2Utils.cmake +++ b/cmake/Pcsx2Utils.cmake @@ -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 +#include +#include +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 +#include +#include +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() diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake index c57f7ad3cb..c2e43f83a2 100644 --- a/cmake/SearchForStuff.cmake +++ b/cmake/SearchForStuff.cmake @@ -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) diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index b1f882f1fd..2300a18eb0 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -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 diff --git a/common/common.vcxproj b/common/common.vcxproj index 83c2ec06b1..6ff5dd2b14 100644 --- a/common/common.vcxproj +++ b/common/common.vcxproj @@ -49,7 +49,7 @@ - true + true @@ -79,19 +79,41 @@ - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + - + + true + diff --git a/common/vsprops/BaseProjectConfig.props b/common/vsprops/BaseProjectConfig.props index fd70d36f68..68b89b5aeb 100644 --- a/common/vsprops/BaseProjectConfig.props +++ b/common/vsprops/BaseProjectConfig.props @@ -21,7 +21,7 @@ Devel x64 - + Devel AVX2 x64 @@ -49,6 +49,18 @@ Release Clang AVX2 x64 + + Debug Clang + ARM64 + + + Devel Clang + ARM64 + + + Release Clang + ARM64 + diff --git a/common/vsprops/BaseProperties.props b/common/vsprops/BaseProperties.props index 4b4f46dfae..2ff51cd035 100644 --- a/common/vsprops/BaseProperties.props +++ b/common/vsprops/BaseProperties.props @@ -1,7 +1,7 @@  - $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)bin-arm64\ \ No newline at end of file diff --git a/common/vsprops/QtCompile.props b/common/vsprops/QtCompile.props index 2d9fe164a5..694c8f9324 100644 --- a/common/vsprops/QtCompile.props +++ b/common/vsprops/QtCompile.props @@ -1,7 +1,8 @@ - $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin-arm64\ $(SolutionDir)deps\ $(SolutionDir)deps-arm64\ $(PCSX2QTDIRDefault) diff --git a/common/vsprops/common.props b/common/vsprops/common.props index 43db526800..179f5e35b1 100644 --- a/common/vsprops/common.props +++ b/common/vsprops/common.props @@ -50,11 +50,12 @@ Precise - _M_X86;__SSE4_1__;%(PreprocessorDefinitions) + _M_X86;__SSE4_1__;%(PreprocessorDefinitions) NotSet AdvancedVectorExtensions2 - -march=nehalem %(AdditionalOptions) - -march=haswell %(AdditionalOptions) + -march=nehalem %(AdditionalOptions) + -march=haswell %(AdditionalOptions) + -march=armv8.4-a %(AdditionalOptions) %(AdditionalOptions) /Zc:externConstexpr /Zc:__cplusplus /Zo /utf-8 @@ -63,7 +64,8 @@ comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;rpcrt4.lib;iphlpapi.lib;%(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) + 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) + opengl32.lib;%(AdditionalDependencies) true Windows diff --git a/pcsx2-qt/pcsx2-qt.vcxproj b/pcsx2-qt/pcsx2-qt.vcxproj index a9c73a14cf..4776a81a52 100644 --- a/pcsx2-qt/pcsx2-qt.vcxproj +++ b/pcsx2-qt/pcsx2-qt.vcxproj @@ -50,7 +50,8 @@ Use PrecompiledHeader.h PrecompiledHeader.h;%(ForcedIncludeFiles) - LZMA_API_STATIC;ENABLE_RAINTEGRATION;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions) + ENABLE_RAINTEGRATION;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions) + LZMA_API_STATIC;%(PreprocessorDefinitions) QT_NO_EXCEPTIONS;%(PreprocessorDefinitions) true diff --git a/pcsx2/CMakeLists.txt b/pcsx2/CMakeLists.txt index adf2775502..0adcf470b1 100644 --- a/pcsx2/CMakeLists.txt +++ b/pcsx2/CMakeLists.txt @@ -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) diff --git a/pcsx2/pcsx2.vcxproj b/pcsx2/pcsx2.vcxproj index 74e090939a..0aef347a79 100644 --- a/pcsx2/pcsx2.vcxproj +++ b/pcsx2/pcsx2.vcxproj @@ -48,18 +48,21 @@ %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\discord-rpc\include %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\jpgd %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\ffmpeg\include - %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\glad\include - %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\vulkan\include + %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\glad\include + %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\vulkan\include %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\d3d12memalloc\include %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\lzma\include %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\freesurround\include - %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\xbyak - %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\zydis\include;$(SolutionDir)3rdparty\zydis\dependencies\zycore\include + %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\xbyak + %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\zydis\include;$(SolutionDir)3rdparty\zydis\dependencies\zycore\include + %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\vixl\include Use PrecompiledHeader.h PrecompiledHeader.h;%(ForcedIncludeFiles) - C4_NO_DEBUG_BREAK;ST_NO_EXCEPTION_HANDLING;ENABLE_RAINTEGRATION;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions) + C4_NO_DEBUG_BREAK;ST_NO_EXCEPTION_HANDLING;%(PreprocessorDefinitions) + ENABLE_RAINTEGRATION;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions) XBYAK_NO_EXCEPTION;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;%(PreprocessorDefinitions) + VIXL_INCLUDE_TARGET_AARCH64;%(PreprocessorDefinitions) $(IntDir)%(RelativeDir) @@ -87,7 +90,9 @@ - + + true + @@ -187,17 +192,39 @@ - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + @@ -216,8 +243,12 @@ - - + + true + + + true + @@ -271,14 +302,18 @@ - + + true + - + + true + @@ -303,7 +338,9 @@ - + + true + @@ -347,7 +384,9 @@ - + + true + @@ -356,13 +395,19 @@ - - + + true + + + true + - + + true + @@ -380,27 +425,63 @@ - - - + + true + + + true + + + true + - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + @@ -416,8 +497,12 @@ - - + + true + + + true + @@ -453,8 +538,12 @@ true - - + + true + + + true + @@ -527,17 +616,39 @@ - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + @@ -553,8 +664,12 @@ - - + + true + + + true + @@ -595,7 +710,9 @@ - + + true + @@ -606,7 +723,9 @@ - + + true + @@ -632,7 +751,9 @@ - + + true + @@ -817,7 +938,7 @@ {7e183337-a7e9-460c-9d3d-568bc9f9bcc1} - + {95dd0a0c-d14d-4cff-a593-820ef26efcc8} @@ -826,9 +947,12 @@ {4639972e-424e-4e13-8b07-ca403c481346} - + {c0293b32-5acf-40f0-aa6c-e6da6f3bf33a} + + {8906836e-f06e-46e8-b11a-74e5e8c7b8fb} + diff --git a/tests/ctest/common/CMakeLists.txt b/tests/ctest/common/CMakeLists.txt index 7d2c00d27f..dfe66f8903 100644 --- a/tests/ctest/common/CMakeLists.txt +++ b/tests/ctest/common/CMakeLists.txt @@ -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 )