This commit is contained in:
Ivan
2022-06-28 10:36:24 +03:00
commit e4c8529305
160 changed files with 59023 additions and 0 deletions

1497
thirdparty/sse2neon/SSE2NEON.h vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSE2NEON", "SSE2NEON\SSE2NEON.vcxproj", "{82052143-B781-40EA-BFB0-491904834B89}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Tegra-Android = Debug|Tegra-Android
Release|Tegra-Android = Release|Tegra-Android
Shipping|Tegra-Android = Shipping|Tegra-Android
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{82052143-B781-40EA-BFB0-491904834B89}.Debug|Tegra-Android.ActiveCfg = Debug|Tegra-Android
{82052143-B781-40EA-BFB0-491904834B89}.Debug|Tegra-Android.Build.0 = Debug|Tegra-Android
{82052143-B781-40EA-BFB0-491904834B89}.Release|Tegra-Android.ActiveCfg = Release|Tegra-Android
{82052143-B781-40EA-BFB0-491904834B89}.Release|Tegra-Android.Build.0 = Release|Tegra-Android
{82052143-B781-40EA-BFB0-491904834B89}.Shipping|Tegra-Android.ActiveCfg = Shipping|Tegra-Android
{82052143-B781-40EA-BFB0-491904834B89}.Shipping|Tegra-Android.Build.0 = Shipping|Tegra-Android
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,2 @@
C:\NVPACK\jdk1.8.0_77\jre
1490807943647

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sse2neon.test"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="15" />
<application android:label="@string/app_name"
android:hasCode="True">
<activity android:name=".SSE2NEON"
android:label="@string/app_name">
<meta-data android:name="android.app.lib_name"
android:value="SSE2NEON" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="NsightTegraProject">
<NsightTegraProjectRevisionNumber>11</NsightTegraProjectRevisionNumber>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Tegra-Android">
<Configuration>Debug</Configuration>
<Platform>Tegra-Android</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Tegra-Android">
<Configuration>Release</Configuration>
<Platform>Tegra-Android</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Shipping|Tegra-Android">
<Configuration>Shipping</Configuration>
<Platform>Tegra-Android</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{82052143-B781-40EA-BFB0-491904834B89}</ProjectGuid>
<RootNamespace>SSE2NEON</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Tegra-Android'">
<AndroidTargetAPI>android-15</AndroidTargetAPI>
</PropertyGroup>
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Tegra-Android'">
<AndroidTargetAPI>android-15</AndroidTargetAPI>
</PropertyGroup>
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Shipping|Tegra-Android'">
<AndroidTargetAPI>android-15</AndroidTargetAPI>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<PropertyGroup Label="UserMacros">
</PropertyGroup>
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Tegra-Android'">
<ClCompile>
<CppLanguageStandard>gnu++11</CppLanguageStandard>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Tegra-Android'">
<ClCompile>
<CppLanguageStandard>gnu++11</CppLanguageStandard>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Tegra-Android'">
<ClCompile>
<CppLanguageStandard>gnu++11</CppLanguageStandard>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<AndroidBuild Include="AndroidManifest.xml" />
<AndroidBuild Include="res\values\strings.xml" />
</ItemGroup>
<ItemGroup>
<JCompile Include="src\sse2neon\test\SSE2NEON.java" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\SSE2NEONBinding.cpp" />
<ClCompile Include="..\..\SSE2NEONTEST.cpp" />
<ClCompile Include="jni\SSE2NEON_TEST.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\SSE2NEON.h" />
<ClInclude Include="..\..\SSE2NEONBinding.h" />
<ClInclude Include="..\..\SSE2NEONTEST.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="res">
<UniqueIdentifier>1809a5b3-0e48-4552-907e-2b1b920e5948</UniqueIdentifier>
</Filter>
<Filter Include="res\values">
<UniqueIdentifier>f663d0da-a8fc-4457-bf5e-aab7f1904d2e</UniqueIdentifier>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{32a44a3b-1ece-48ec-a181-de7a49d1c972}</UniqueIdentifier>
</Filter>
<Filter Include="src\sse2neon">
<UniqueIdentifier>{d64092f0-bd97-42f3-8e5a-e3dbc448ef62}</UniqueIdentifier>
</Filter>
<Filter Include="src\sse2neon\test">
<UniqueIdentifier>{dfa22a06-6da7-446e-a1dd-8bd921238984}</UniqueIdentifier>
</Filter>
<Filter Include="jni">
<UniqueIdentifier>{cd15bd6d-0b7f-4bc8-83bc-ff8b30f022ca}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<AndroidBuild Include="AndroidManifest.xml" />
<AndroidBuild Include="res\values\strings.xml">
<Filter>res\values</Filter>
</AndroidBuild>
</ItemGroup>
<ItemGroup>
<JCompile Include="src\sse2neon\test\SSE2NEON.java">
<Filter>src\sse2neon\test</Filter>
</JCompile>
</ItemGroup>
<ItemGroup>
<ClCompile Include="jni\SSE2NEON_TEST.cpp">
<Filter>jni</Filter>
</ClCompile>
<ClCompile Include="..\..\SSE2NEONBinding.cpp">
<Filter>jni</Filter>
</ClCompile>
<ClCompile Include="..\..\SSE2NEONTEST.cpp">
<Filter>jni</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\SSE2NEON.h">
<Filter>jni</Filter>
</ClInclude>
<ClInclude Include="..\..\SSE2NEONBinding.h">
<Filter>jni</Filter>
</ClInclude>
<ClInclude Include="..\..\SSE2NEONTEST.h">
<Filter>jni</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,46 @@
/**********************************
Java Native Interface library
**********************************/
#include <jni.h>
#include <android/log.h>
#include "../../../SSE2NEONTEST.h"
#include <stdint.h>
/** This is the C++ implementation of the Java native method.
@param env Pointer to JVM environment
@param thiz Reference to Java this object
*/
extern "C"
JNIEXPORT void JNICALL
Java_sse2neon_test_SSE2NEON_sse2neonNative( JNIEnv* env, jobject thiz )
{
// Enter code here
__android_log_print(ANDROID_LOG_INFO, "SSE2NEON", "%s\n", "SSE2NEON");
SSE2NEON::SSE2NEONTest *test = SSE2NEON::SSE2NEONTest::create();
uint32_t passCount = 0;
uint32_t failedCount = 0;
for (uint32_t i = 0; i < SSE2NEON::IT_LAST; i++)
{
SSE2NEON::InstructionTest it = SSE2NEON::InstructionTest(i);
__android_log_print(ANDROID_LOG_INFO, "SSE2NEON", "Running Test %s\n", SSE2NEON::SSE2NEONTest::getInstructionTestString(it));
bool ok = test->runTest(it);
// If the test fails, we will run it again so we can step into the debugger and figure out why!
if (!ok)
{
__android_log_print(ANDROID_LOG_INFO, "SSE2NEON", "**FAILURE** SSE2NEONTest %s", SSE2NEON::SSE2NEONTest::getInstructionTestString(it));
// test->runTest(it); // Uncomment this to step through the code to find the failure case
}
if (ok)
{
passCount++;
}
else
{
failedCount++;
}
}
test->release();
__android_log_print(ANDROID_LOG_INFO, "SSE2NEON", "SSE2NEONTest Complete: Passed %d tests : Failed %d\n", passCount, failedCount);
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">SSE2NEON</string>
</resources>

View File

@@ -0,0 +1,59 @@
/*
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sse2neon.test;
import android.app.Activity;
import android.widget.TextView;
import android.os.Bundle;
/**
* This class loads the Java Native Interface (JNI)
* library, 'libSSE2NEON.so', and provides access to the
* exposed C functions.
* The library is packaged and installed with the application.
* See the C file, /jni/SSE2NEON.c file for the
* implementations of the native methods.
*
* For more information on JNI, see: http://java.sun.com/docs/books/jni/
*/
public class SSE2NEON extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Enter code here
sse2neonNative();
}
/**
* An example native method. See the library function,
* <code>Java_sse2neon_test_SSE2NEON_sse2neonNative</code>
* for the implementation.
*/
public native void sse2neonNative();
/* This is the static constructor used to load the
* 'SSE2NEON' library when the class is
* loaded.
*/
static {
System.loadLibrary("SSE2NEON");
}
}

47
thirdparty/sse2neon/SSE2NEONBinding.cpp vendored Normal file
View File

@@ -0,0 +1,47 @@
#include "SSE2NEONBinding.h"
#ifdef WIN32
#include <xmmintrin.h>
#include <emmintrin.h>
#include <malloc.h>
#include <crtdbg.h>
#else
#include <stdlib.h>
#endif
namespace SSE2NEON
{
#ifdef WIN32
void* platformAlignedAlloc(size_t size)
{
return _aligned_malloc(size, 16);
}
void platformAlignedFree(void* ptr)
{
_aligned_free(ptr);
}
#else
void* platformAlignedAlloc(size_t size)
{
return ::memalign(16, size);
}
void platformAlignedFree(void* ptr)
{
::free(ptr);
}
#endif
} // end of SSE2NEON namespace

20
thirdparty/sse2neon/SSE2NEONBinding.h vendored Normal file
View File

@@ -0,0 +1,20 @@
#ifndef SSE2NEONBINDING_H
#define SSE2NEONBINDING_H
#include <stdlib.h>
// The SSE2NEON unit tests run both within our own internal project
// as well as within the open source framework.
// This header file is used to abstract any distinctions between
// those two build environments.
//
// Initially, this is for how 16 byte aligned memory is allocated
namespace SSE2NEON
{
void* platformAlignedAlloc(size_t size);
void platformAlignedFree(void* ptr);
}
#endif

1850
thirdparty/sse2neon/SSE2NEONTEST.cpp vendored Normal file

File diff suppressed because it is too large Load Diff

133
thirdparty/sse2neon/SSE2NEONTEST.h vendored Normal file
View File

@@ -0,0 +1,133 @@
#ifndef SSE2NEONTEST_H
#define SSE2NEONTEST_H
// SSE2NEONTEST performs a set of 'unit tests' making sure that each SSE call
// provides the output we expect. If this fires an assert, then something didn't match up.
namespace SSE2NEON
{
// Currently 39 SSE intrinsics have unit tests fully implemented and verified.
// There are an additional 56 intrinsics which do not yet have a unit
// test implementation and, therefore, should not be considered fully
// verified at this time. These will be implemented as soon as possible.
// Note: The way unit tests are implemented is that 10,000 random floating point
// and integer vec4 numbers are generated as sample data.
//
// A short C implementation of every intrinsic is implemented and compared to the
// actual expected results from the corresponding SSE intrinsic against all of the
// 10,000 randomized input vectors.
// When running on ARM, then the results are compared to the NEON approximate version.
enum InstructionTest
{
IT_MM_SETZERO_SI128, // Unit test implemented and verified as fully working
IT_MM_SETZERO_PS, // Unit test implemented and verified as fully working
IT_MM_SET1_PS, // Unit test implemented and verified as fully working
IT_MM_SET_PS1, // Unit test implemented and verified as fully working
IT_MM_SET_PS, // Unit test implemented and verified as fully working
IT_MM_SET1_EPI32, // Unit test implemented and verified as fully working
IT_MM_SET_EPI32, // Unit test implemented and verified as fully working
IT_MM_STORE_PS, // Unit test implemented and verified as fully working
IT_MM_SHUFFLE_PS, // Unit test implemented and verified as fully working
IT_MM_LOAD1_PS, // Unit test implemented and verified as fully working
IT_MM_ANDNOT_PS, // Unit test implemented and verified as fully working
IT_MM_ANDNOT_SI128, // Unit test implemented and verified as fully working
IT_MM_AND_SI128, // Unit test implemented and verified as fully working
IT_MM_AND_PS, // Unit test implemented and verified as fully working
IT_MM_OR_PS, // Unit test implemented and verified as fully working
IT_MM_OR_SI128, // Unit test implemented and verified as fully working
IT_MM_MOVEMASK_PS, // Unit test implemented and verified as fully working
IT_MM_MOVEMASK_EPI8, // Unit test implemented and verified as fully working
IT_MM_SUB_PS, // Unit test implemented and verified as fully working
IT_MM_SUB_EPI32, // Unit test implemented and verified as fully working
IT_MM_ADD_PS, // Unit test implemented and verified as fully working
IT_MM_ADD_EPI32, // Unit test implemented and verified as fully working
IT_MM_MULLO_EPI16, // Unit test implemented and verified as fully working
IT_MM_MUL_PS, // Unit test implemented and verified as fully working
IT_MM_RCP_PS, // Unit test implemented and verified as fully working
IT_MM_MAX_PS, // Unit test implemented and verified as fully working
IT_MM_MIN_PS, // Unit test implemented and verified as fully working
IT_MM_MIN_EPI16, // Unit test implemented and verified as fully working
IT_MM_MULHI_EPI16, // Unit test implemented and verified as fully working
IT_MM_CMPLT_PS, // Unit test implemented and verified as fully working
IT_MM_CMPGT_PS, // Unit test implemented and verified as fully working
IT_MM_CMPGE_PS, // Unit test implemented and verified as fully working
IT_MM_CMPLE_PS, // Unit test implemented and verified as fully working
IT_MM_CMPEQ_PS, // Unit test implemented and verified as fully working
IT_MM_CMPLT_EPI32, // Unit test implemented and verified as fully working
IT_MM_CMPGT_EPI32, // Unit test implemented and verified as fully working
IT_MM_CVTTPS_EPI32, // Unit test implemented and verified as fully working
IT_MM_CVTEPI32_PS, // Unit test implemented and verified as fully working
IT_MM_CVTPS_EPI32, // Unit test implemented and verified as fully working
IT_MM_CVTSS_F32, // Unit test *not yet implemented*
IT_MM_SETR_PS, // Unit test *not yet implemented*
IT_MM_STOREU_PS, // Unit test *not yet implemented*
IT_MM_STORE_SI128, // Unit test *not yet implemented*
IT_MM_STORE_SS, // Unit test *not yet implemented*
IT_MM_STOREL_EPI64, // Unit test *not yet implemented*
IT_MM_LOAD_PS, // Unit test *not yet implemented*
IT_MM_LOADU_PS, // Unit test *not yet implemented*
IT_MM_LOAD_SS, // Unit test *not yet implemented*
IT_MM_CMPNEQ_PS, // Unit test *not yet implemented*
IT_MM_XOR_PS, // Unit test *not yet implemented*
IT_MM_XOR_SI128, // Unit test *not yet implemented*
IT_MM_SHUFFLE_EPI32_DEFAULT, // Unit test *not yet implemented*
IT_MM_SHUFFLE_EPI32_FUNCTION, // Unit test *not yet implemented*
IT_MM_SHUFFLE_EPI32_SPLAT, // Unit test *not yet implemented*
IT_MM_SHUFFLE_EPI32_SINGLE, // Unit test *not yet implemented*
IT_MM_SHUFFLEHI_EPI16_FUNCTION, // Unit test *not yet implemented*
IT_MM_ADD_SS, // Unit test *not yet implemented*
IT_MM_ADD_EPI16, // Unit test *not yet implemented*
IT_MM_MULLO_EPI32, // Unit test *not yet implemented*
IT_MM_DIV_PS, // Unit test *not yet implemented*
IT_MM_DIV_SS, // Unit test *not yet implemented*
IT_MM_SQRT_PS, // Unit test *not yet implemented*
IT_MM_SQRT_SS, // Unit test *not yet implemented*
IT_MM_RSQRT_PS, // Unit test *not yet implemented*
IT_MM_MAX_SS, // Unit test *not yet implemented*
IT_MM_MIN_SS, // Unit test *not yet implemented*
IT_MM_MAX_EPI32, // Unit test *not yet implemented*
IT_MM_MIN_EPI32, // Unit test *not yet implemented*
IT_MM_HADD_PS, // Unit test *not yet implemented*
IT_MM_CMPORD_PS, // Unit test *not yet implemented*
IT_MM_COMILT_SS, // Unit test *not yet implemented*
IT_MM_COMIGT_SS, // Unit test *not yet implemented*
IT_MM_COMILE_SS, // Unit test *not yet implemented*
IT_MM_COMIGE_SS, // Unit test *not yet implemented*
IT_MM_COMIEQ_SS, // Unit test *not yet implemented*
IT_MM_COMINEQ_SS, // Unit test *not yet implemented*
IT_MM_CVTSI128_SI32, // Unit test *not yet implemented*
IT_MM_CVTSI32_SI128, // Unit test *not yet implemented*
IT_MM_CASTPS_SI128, // Unit test *not yet implemented*
IT_MM_CASTSI128_PS, // Unit test *not yet implemented*
IT_MM_LOAD_SI128, // Unit test *not yet implemented*
IT_MM_PACKS_EPI16, // Unit test *not yet implemented*
IT_MM_PACKUS_EPI16, // Unit test *not yet implemented*
IT_MM_PACKS_EPI32, // Unit test *not yet implemented*
IT_MM_UNPACKLO_EPI8, // Unit test *not yet implemented*
IT_MM_UNPACKLO_EPI16, // Unit test *not yet implemented*
IT_MM_UNPACKLO_EPI32, // Unit test *not yet implemented*
IT_MM_UNPACKLO_PS, // Unit test *not yet implemented*
IT_MM_UNPACKHI_PS, // Unit test *not yet implemented*
IT_MM_UNPACKHI_EPI8, // Unit test *not yet implemented*
IT_MM_UNPACKHI_EPI16, // Unit test *not yet implemented*
IT_MM_UNPACKHI_EPI32, // Unit test *not yet implemented*
IT_MM_SFENCE, // Unit test *not yet implemented*
IT_MM_STREAM_SI128, // Unit test *not yet implemented*
IT_MM_CLFLUSH, // Unit test *not yet implemented*
IT_LAST
};
class SSE2NEONTest
{
public:
static SSE2NEONTest* create(void); // create the test.
static const char *getInstructionTestString(InstructionTest test);
// Run test of this instruction; return true if it passed, false if it failed
virtual bool runTest(InstructionTest test) = 0;
virtual void release(void) = 0;
};
}
#endif

View File

@@ -0,0 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 11
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSE2NEON", "SSE2NEON.vcxproj", "{4D22D468-6380-1EC4-4643-53D05B3CA4C5}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug|Win32 = debug|Win32
release|Win32 = release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.debug|Win32.ActiveCfg = debug|Win32
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.debug|Win32.Build.0 = debug|Win32
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.release|Win32.ActiveCfg = release|Win32
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.release|Win32.Build.0 = release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddins) = postSolution
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug|Win32">
<Configuration>debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release|Win32">
<Configuration>release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ApplicationEnvironment>title</ApplicationEnvironment>
<!-- - - - -->
<PlatformToolset>v110</PlatformToolset>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
<ProjectGuid>{4D22D468-6380-1EC4-4643-53D05B3CA4C5}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<GenerateManifest>false</GenerateManifest>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<GenerateManifest>false</GenerateManifest>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
<OutDir>./../..\</OutDir>
<IntDir>./Win32/SSE2NEON/debug\</IntDir>
<TargetExt>.exe</TargetExt>
<TargetName>SSE2NEON32DEBUG</TargetName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules />
<CodeAnalysisRuleAssemblies />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
<ClCompile>
<TreatWarningAsError>true</TreatWarningAsError>
<FloatingPointModel>Fast</FloatingPointModel>
<AdditionalOptions>/W4</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>./../../config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;UNICODE=1;_CRT_SECURE_NO_DEPRECATE;OPEN_SOURCE=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalOptions>/DEBUG</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)SSE2NEON32DEBUG.exe</OutputFile>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>$(OutDir)/SSE2NEON32DEBUG.exe.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>$(OutDir)/SSE2NEON32DEBUG.exe.map</MapFileName>
<SubSystem>Console</SubSystem>
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<ResourceCompile>
</ResourceCompile>
<ProjectReference>
</ProjectReference>
</ItemDefinitionGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
<OutDir>./../..\</OutDir>
<IntDir>./Win32/SSE2NEON/release\</IntDir>
<TargetExt>.exe</TargetExt>
<TargetName>SSE2NEON32</TargetName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules />
<CodeAnalysisRuleAssemblies />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
<ClCompile>
<TreatWarningAsError>true</TreatWarningAsError>
<FloatingPointModel>Fast</FloatingPointModel>
<AdditionalOptions>/W4</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>./../../config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;UNICODE=1;_CRT_SECURE_NO_DEPRECATE;OPEN_SOURCE=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalOptions>/DEBUG</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)SSE2NEON32.exe</OutputFile>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>$(OutDir)/SSE2NEON32.exe.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>$(OutDir)/SSE2NEON32.exe.map</MapFileName>
<SubSystem>Console</SubSystem>
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<ResourceCompile>
</ResourceCompile>
<ProjectReference>
</ProjectReference>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\SSE2NEON.h">
</ClInclude>
<ClInclude Include="..\..\SSE2NEONBinding.h">
</ClInclude>
<ClInclude Include="..\..\SSE2NEONTEST.h">
</ClInclude>
<ClCompile Include="..\..\main.cpp">
</ClCompile>
<ClCompile Include="..\..\SSE2NEONBinding.cpp">
</ClCompile>
<ClCompile Include="..\..\SSE2NEONTEST.cpp">
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 11
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSE2NEON", "SSE2NEON.vcxproj", "{4D22D468-6380-1EC4-4643-53D05B3CA4C5}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug|x64 = debug|x64
release|x64 = release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.debug|x64.ActiveCfg = debug|x64
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.debug|x64.Build.0 = debug|x64
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.release|x64.ActiveCfg = release|x64
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.release|x64.Build.0 = release|x64
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddins) = postSolution
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug|x64">
<Configuration>debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release|x64">
<Configuration>release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ApplicationEnvironment>title</ApplicationEnvironment>
<!-- - - - -->
<PlatformToolset>v110</PlatformToolset>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<GenerateManifest>false</GenerateManifest>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<GenerateManifest>false</GenerateManifest>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
<OutDir>./../..\</OutDir>
<IntDir>./x64/SSE2NEON/debug\</IntDir>
<TargetExt>.exe</TargetExt>
<TargetName>SSE2NEON64DEBUG</TargetName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules />
<CodeAnalysisRuleAssemblies />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
<ClCompile>
<TreatWarningAsError>true</TreatWarningAsError>
<FloatingPointModel>Fast</FloatingPointModel>
<AdditionalOptions>/W4</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>./../../config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;UNICODE=1;_CRT_SECURE_NO_DEPRECATE;OPEN_SOURCE=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile></PrecompiledHeaderFile>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalOptions>/DEBUG</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)SSE2NEON64DEBUG.exe</OutputFile>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>$(OutDir)/SSE2NEON64DEBUG.exe.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>$(OutDir)/SSE2NEON64DEBUG.exe.map</MapFileName>
<SubSystem>Console</SubSystem>
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<ResourceCompile>
</ResourceCompile>
<ProjectReference>
</ProjectReference>
</ItemDefinitionGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
<OutDir>./../..\</OutDir>
<IntDir>./x64/SSE2NEON/release\</IntDir>
<TargetExt>.exe</TargetExt>
<TargetName>SSE2NEON64</TargetName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules />
<CodeAnalysisRuleAssemblies />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
<ClCompile>
<TreatWarningAsError>true</TreatWarningAsError>
<FloatingPointModel>Fast</FloatingPointModel>
<AdditionalOptions>/W4</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>./../../config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;UNICODE=1;_CRT_SECURE_NO_DEPRECATE;OPEN_SOURCE=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile></PrecompiledHeaderFile>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalOptions>/DEBUG</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)SSE2NEON64.exe</OutputFile>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>$(OutDir)/SSE2NEON64.exe.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>$(OutDir)/SSE2NEON64.exe.map</MapFileName>
<SubSystem>Console</SubSystem>
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<ResourceCompile>
</ResourceCompile>
<ProjectReference>
</ProjectReference>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\SSE2NEON.h">
</ClInclude>
<ClInclude Include="..\..\SSE2NEONBinding.h">
</ClInclude>
<ClInclude Include="..\..\SSE2NEONTEST.h">
</ClInclude>
<ClCompile Include="..\..\main.cpp">
</ClCompile>
<ClCompile Include="..\..\SSE2NEONBinding.cpp">
</ClCompile>
<ClCompile Include="..\..\SSE2NEONTEST.cpp">
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"></ImportGroup>
</Project>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="SSE2NEON"><!-- -->
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\SSE2NEON.h">
<Filter>SSE2NEON</Filter>
</ClInclude>
<ClInclude Include="..\..\SSE2NEONBinding.h">
<Filter>SSE2NEON</Filter>
</ClInclude>
<ClInclude Include="..\..\SSE2NEONTEST.h">

View File

@@ -0,0 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSE2NEON", "SSE2NEON.vcxproj", "{4D22D468-6380-1EC4-4643-53D05B3CA4C5}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug|x64 = debug|x64
release|x64 = release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.debug|x64.ActiveCfg = debug|x64
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.debug|x64.Build.0 = debug|x64
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.release|x64.ActiveCfg = release|x64
{4D22D468-6380-1EC4-4643-53D05B3CA4C5}.release|x64.Build.0 = release|x64
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddins) = postSolution
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug|x64">
<Configuration>debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release|x64">
<Configuration>release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<GenerateManifest>false</GenerateManifest>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<GenerateManifest>false</GenerateManifest>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
<OutDir>./../..\</OutDir>
<IntDir>./x64/SSE2NEON/debug\</IntDir>
<TargetExt>.exe</TargetExt>
<TargetName>SSE2NEON64DEBUG</TargetName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules />
<CodeAnalysisRuleAssemblies />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
<ClCompile>
<TreatWarningAsError>true</TreatWarningAsError>
<FloatingPointModel>Fast</FloatingPointModel>
<AdditionalOptions>/W4</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>./../../config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;UNICODE=1;_CRT_SECURE_NO_DEPRECATE;OPEN_SOURCE=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile></PrecompiledHeaderFile>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalOptions>/DEBUG</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)SSE2NEON64DEBUG.exe</OutputFile>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>$(OutDir)/SSE2NEON64DEBUG.exe.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>$(OutDir)/SSE2NEON64DEBUG.exe.map</MapFileName>
<SubSystem>Console</SubSystem>
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<ResourceCompile>
</ResourceCompile>
<ProjectReference>
</ProjectReference>
</ItemDefinitionGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
<OutDir>./../..\</OutDir>
<IntDir>./x64/SSE2NEON/release\</IntDir>
<TargetExt>.exe</TargetExt>
<TargetName>SSE2NEON64</TargetName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules />
<CodeAnalysisRuleAssemblies />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
<ClCompile>
<TreatWarningAsError>true</TreatWarningAsError>
<FloatingPointModel>Fast</FloatingPointModel>
<AdditionalOptions>/W4</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>./../../config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;UNICODE=1;_CRT_SECURE_NO_DEPRECATE;OPEN_SOURCE=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile></PrecompiledHeaderFile>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalOptions>/DEBUG</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)SSE2NEON64.exe</OutputFile>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>$(OutDir)/SSE2NEON64.exe.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>$(OutDir)/SSE2NEON64.exe.map</MapFileName>
<SubSystem>Console</SubSystem>
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<ResourceCompile>
</ResourceCompile>
<ProjectReference>
</ProjectReference>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\SSE2NEON.h">
</ClInclude>
<ClInclude Include="..\..\SSE2NEONBinding.h">
</ClInclude>
<ClInclude Include="..\..\SSE2NEONTEST.h">
</ClInclude>
<ClCompile Include="..\..\main.cpp">
</ClCompile>
<ClCompile Include="..\..\SSE2NEONBinding.cpp">
</ClCompile>
<ClCompile Include="..\..\SSE2NEONTEST.cpp">
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"></ImportGroup>
</Project>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="SSE2NEON"><!-- -->
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\SSE2NEON.h">
<Filter>SSE2NEON</Filter>
</ClInclude>
<ClInclude Include="..\..\SSE2NEONBinding.h">
<Filter>SSE2NEON</Filter>
</ClInclude>
<ClInclude Include="..\..\SSE2NEONTEST.h">

View File

@@ -0,0 +1,94 @@
<XPJ version="4">
<Project name="SSE2NEON" version="1">
<Export platform="win32" tool="vc9">../vc9win32</Export>
<Export platform="win32" tool="vc10">../vc10win32</Export>
<Export platform="win64" tool="vc9">../vc9win64</Export>
<Export platform="win64" tool="vc10">../vc10win64</Export>
<Target name="SSE2NEON">
<Export platform="win32" tool="vc9">../vc9win32</Export>
<Export platform="win32" tool="vc10">../vc10win32</Export>
<Export platform="win64" tool="vc9">../vc9win64</Export>
<Export platform="win64" tool="vc10">../vc10win64</Export>
<Files name="SSE2NEON" root="../../" type="header">
*.h
*.cpp
*.c
</Files>
<Configuration name="default" type="console">
<Preprocessor type="define">
WIN32
_WINDOWS
UNICODE=1
_CRT_SECURE_NO_DEPRECATE
OPEN_SOURCE=1
</Preprocessor>
<CFlags tool="vc8">/wd4996</CFlags>
<LFlags tool="vc8">/NODEFAULTLIB:libcp.lib</LFlags>
<SearchPaths type="header">
"../../config"
</SearchPaths>
<SearchPaths type="library">
</SearchPaths>
<Libraries>
</Libraries>
</Configuration>
<Configuration name="debug" platform="win32">
<OutDir>../../</OutDir>
<OutFile>SSE2NEON32DEBUG.exe</OutFile>
<CFlags>/fp:fast /W4 /WX /MTd /Zi</CFlags>
<LFlags>/DEBUG</LFlags>
<Preprocessor type="define">
_DEBUG
</Preprocessor>
<Libraries>
</Libraries>
</Configuration>
<Configuration name="release" platform="win32">
<OutDir>../../</OutDir>
<OutFile>SSE2NEON32.exe</OutFile>
<CFlags>/fp:fast /WX /W4 /MT /Zi /O2</CFlags>
<LFlags>/DEBUG</LFlags>
<Preprocessor type="define">NDEBUG</Preprocessor>
<Libraries>
</Libraries>
</Configuration>
<Configuration name="debug" platform="win64">
<OutDir>../../</OutDir>
<OutFile>SSE2NEON64DEBUG.exe</OutFile>
<CFlags>/fp:fast /W4 /WX /MTd /Zi</CFlags>
<LFlags>/DEBUG</LFlags>
<Preprocessor type="define">
_DEBUG
</Preprocessor>
<Libraries>
</Libraries>
</Configuration>
<Configuration name="release" platform="win64">
<OutDir>../../</OutDir>
<OutFile>SSE2NEON64.exe</OutFile>
<CFlags>/fp:fast /WX /W4 /MT /Zi /O2</CFlags>
<LFlags>/DEBUG</LFlags>
<Preprocessor type="define">NDEBUG</Preprocessor>
<Libraries>
</Libraries>
</Configuration>
<Libraries>
</Libraries>
<Dependencies type="link">
</Dependencies>
</Target>
</Project>
</XPJ>

View File

@@ -0,0 +1,17 @@
@echo off
set XPJ="xpj4.exe"
%XPJ% -v 1 -t VC11 -p WIN32 -x SSE2NEON.xpj
%XPJ% -v 1 -t VC11 -p WIN64 -x SSE2NEON.xpj
cd ..
cd vc11win64
goto cleanExit
:pauseExit
pause
:cleanExit

Binary file not shown.

34
thirdparty/sse2neon/main.cpp vendored Normal file
View File

@@ -0,0 +1,34 @@
#include "SSE2NEONTEST.h"
#include <stdio.h>
#include <stdint.h>
int main(int /*argc*/,const char ** /*argv*/)
{
SSE2NEON::SSE2NEONTest *test = SSE2NEON::SSE2NEONTest::create();
uint32_t passCount = 0;
uint32_t failedCount = 0;
for (uint32_t i = 0; i < SSE2NEON::IT_LAST; i++)
{
SSE2NEON::InstructionTest it = SSE2NEON::InstructionTest(i);
printf("Running Test %s\n", SSE2NEON::SSE2NEONTest::getInstructionTestString(it));
bool ok = test->runTest(it);
// If the test fails, we will run it again so we can step into the debugger and figure out why!
if (!ok)
{
printf("**FAILURE** SSE2NEONTest %s", SSE2NEON::SSE2NEONTest::getInstructionTestString(it));
// test->runTest(it); // Uncomment this to step through the code to find the failure case
}
if (ok)
{
passCount++;
}
else
{
failedCount++;
}
}
test->release();
printf("SSE2NEONTest Complete: Passed %d tests : Failed %d\n", passCount, failedCount);
return 0;
}