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
)