diff --git a/IDE/WIN/user_settings.h b/IDE/WIN/user_settings.h
index d13c2d98c..f2071520f 100755
--- a/IDE/WIN/user_settings.h
+++ b/IDE/WIN/user_settings.h
@@ -47,6 +47,22 @@
#define HAVE_ECC
#define ECC_SHAMIR
#define ECC_TIMING_RESISTANT
+
+ /* Optional Performance Speedups */
+ #if 0
+ /* AESNI on x64 */
+ #ifdef _WIN64
+ #define HAVE_INTEL_RDSEED
+ #define WOLFSSL_AESNI
+ #endif
+
+ /* Single Precision Support for RSA/DH 1024/2048/3072 and ECC P-256 */
+ #define WOLFSSL_SP
+ #define WOLFSSL_HAVE_SP_ECC
+ #define WOLFSSL_HAVE_SP_DH
+ #define WOLFSSL_HAVE_SP_RSA
+ #endif
+
#else
/* The servers and clients */
#define OPENSSL_EXTRA
diff --git a/wolfcrypt/benchmark/benchmark.sln b/wolfcrypt/benchmark/benchmark.sln
index e3947de4f..6c555724a 100755
--- a/wolfcrypt/benchmark/benchmark.sln
+++ b/wolfcrypt/benchmark/benchmark.sln
@@ -22,18 +22,20 @@ Global
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Debug|Win32.ActiveCfg = Debug|Win32
{615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Debug|Win32.Build.0 = Debug|Win32
- {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Debug|x64.ActiveCfg = Debug|Win32
+ {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Debug|x64.ActiveCfg = Debug|x64
+ {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Debug|x64.Build.0 = Debug|x64
{615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Debug|Win32.ActiveCfg = Debug|Win32
{615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Debug|Win32.Build.0 = Debug|Win32
- {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Debug|x64.ActiveCfg = Release|Win32
- {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Debug|x64.Build.0 = Release|Win32
+ {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Debug|x64.ActiveCfg = Debug|x64
+ {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Debug|x64.Build.0 = Debug|x64
{615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Release|Win32.ActiveCfg = Release|Win32
{615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Release|Win32.Build.0 = Release|Win32
- {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Release|x64.ActiveCfg = Release|Win32
- {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Release|x64.Build.0 = Release|Win32
+ {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Release|x64.ActiveCfg = Release|x64
+ {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.DLL Release|x64.Build.0 = Release|x64
{615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Release|Win32.ActiveCfg = Release|Win32
{615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Release|Win32.Build.0 = Release|Win32
- {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Release|x64.ActiveCfg = Release|Win32
+ {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Release|x64.ActiveCfg = Release|x64
+ {615AEC46-5595-4DEA-9490-DBD5DE0F8772}.Release|x64.Build.0 = Release|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|Win32.ActiveCfg = Debug|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|Win32.Build.0 = Debug|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|x64.ActiveCfg = Debug|x64
diff --git a/wolfcrypt/test/test.sln b/wolfcrypt/test/test.sln
index 129ec36fa..55b9872f0 100755
--- a/wolfcrypt/test/test.sln
+++ b/wolfcrypt/test/test.sln
@@ -22,18 +22,20 @@ Global
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Debug|Win32.ActiveCfg = Debug|Win32
{D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Debug|Win32.Build.0 = Debug|Win32
- {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Debug|x64.ActiveCfg = Debug|Win32
+ {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Debug|x64.ActiveCfg = Debug|x64
+ {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Debug|x64.Build.0 = Debug|x64
{D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Debug|Win32.ActiveCfg = Debug|Win32
{D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Debug|Win32.Build.0 = Debug|Win32
- {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Debug|x64.ActiveCfg = Release|Win32
- {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Debug|x64.Build.0 = Release|Win32
+ {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Debug|x64.ActiveCfg = Debug|x64
+ {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Debug|x64.Build.0 = Debug|x64
{D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Release|Win32.ActiveCfg = Release|Win32
{D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Release|Win32.Build.0 = Release|Win32
- {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Release|x64.ActiveCfg = Release|Win32
- {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Release|x64.Build.0 = Release|Win32
+ {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Release|x64.ActiveCfg = Release|x64
+ {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.DLL Release|x64.Build.0 = Release|x64
{D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Release|Win32.ActiveCfg = Release|Win32
{D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Release|Win32.Build.0 = Release|Win32
- {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Release|x64.ActiveCfg = Release|Win32
+ {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Release|x64.ActiveCfg = Release|x64
+ {D04BDF66-664A-4D59-BEAC-8AB2D5809C21}.Release|x64.Build.0 = Release|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|Win32.ActiveCfg = Debug|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|Win32.Build.0 = Debug|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|x64.ActiveCfg = Debug|x64
diff --git a/wolfssl.vcproj b/wolfssl.vcproj
index 3a7a45506..5505e4912 100755
--- a/wolfssl.vcproj
+++ b/wolfssl.vcproj
@@ -151,10 +151,46 @@
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -167,6 +203,10 @@
RelativePath=".\wolfcrypt\src\blake2b.c"
>
+
+
@@ -183,10 +223,6 @@
RelativePath=".\wolfcrypt\src\chacha20_poly1305.c"
>
-
-
@@ -207,6 +243,22 @@
RelativePath=".\wolfcrypt\src\error.c"
>
+
+
+
+
+
+
+
+
@@ -223,22 +275,14 @@
RelativePath=".\wolfcrypt\src\integer.c"
>
-
-
-
-
-
-
+
+
@@ -251,10 +295,6 @@
RelativePath=".\wolfcrypt\src\memory.c"
>
-
-
@@ -267,14 +307,6 @@
RelativePath=".\wolfcrypt\src\poly1305.c"
>
-
-
-
-
@@ -307,26 +339,46 @@
RelativePath=".\wolfcrypt\src\sha512.c"
>
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
diff --git a/wolfssl.vcxproj b/wolfssl.vcxproj
index f5bdbf5da..834c307e0 100644
--- a/wolfssl.vcxproj
+++ b/wolfssl.vcxproj
@@ -288,6 +288,7 @@
+
@@ -327,9 +328,14 @@
+
+
+
+
+