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

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");
}
}