Improvements to System.Math InternalCall code. (#4847)
authorTanner Gooding <tannergooding@users.noreply.github.com>
Thu, 2 Jun 2016 01:17:24 +0000 (18:17 -0700)
committerJan Vorlicek <janvorli@microsoft.com>
Thu, 2 Jun 2016 01:17:24 +0000 (03:17 +0200)
commit08786f20e89eb5f518d8d25f3e7f886f69d994ea
tree7a1ff4252b23de1b2a729a933c10fc8c349b9025
parent5b97541ab67310b7831c4f5c13be7978c0b024cd
Improvements to System.Math InternalCall code. (#4847)

* Adding some basic System.Math performance tests.

* Renaming 'floatnative' to 'floatdouble'.

* Removing outdated workarounds in the floatdouble interop code.

* Renaming 'finite.cpp' to 'math.cpp'

* Updating the double-precision math tests.

* Updating PAL_EPSILON to be more precise.
120 files changed:
src/classlibnative/float/CMakeLists.txt
src/classlibnative/float/Float.nativeproj
src/classlibnative/float/floatdouble.cpp [new file with mode: 0644]
src/classlibnative/float/floatnative.cpp [deleted file]
src/classlibnative/float/floatnative.h [deleted file]
src/classlibnative/float/floatsingle.cpp [new file with mode: 0644]
src/classlibnative/inc/floatclass.h [deleted file]
src/classlibnative/inc/floatdouble.h [new file with mode: 0644]
src/classlibnative/inc/floatsingle.h [new file with mode: 0644]
src/jit/utils.cpp
src/jit/utils.h
src/pal/inc/pal.h
src/pal/src/CMakeLists.txt
src/pal/src/cruntime/math.cpp [moved from src/pal/src/cruntime/finite.cpp with 72% similarity]
src/pal/src/include/pal/palinternal.h
src/pal/tests/palsuite/c_runtime/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/_finite/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/_finite/test1/test1.c
src/pal/tests/palsuite/c_runtime/_finite/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/_isnan/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/_isnan/test1/test1.c
src/pal/tests/palsuite/c_runtime/acos/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/acos/test1/test1.c
src/pal/tests/palsuite/c_runtime/acos/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/asin/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/asin/test1/test1.c
src/pal/tests/palsuite/c_runtime/asin/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/atan/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/atan/test1/test1.c
src/pal/tests/palsuite/c_runtime/atan/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/atan2/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/atan2/test1/test1.c
src/pal/tests/palsuite/c_runtime/ceil/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/ceil/test1/test1.c
src/pal/tests/palsuite/c_runtime/cos/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/cos/test1/test1.c
src/pal/tests/palsuite/c_runtime/cos/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/cosh/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/cosh/test1/test1.c
src/pal/tests/palsuite/c_runtime/cosh/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/exp/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/exp/test1/test1.c
src/pal/tests/palsuite/c_runtime/exp/test2/test2.c [deleted file]
src/pal/tests/palsuite/c_runtime/exp/test3/test3.c [deleted file]
src/pal/tests/palsuite/c_runtime/fabs/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/fabs/test1/test1.c
src/pal/tests/palsuite/c_runtime/fabs/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/fabsf/CMakeLists.txt [new file with mode: 0644]
src/pal/tests/palsuite/c_runtime/fabsf/test1/CMakeLists.txt [moved from src/pal/tests/palsuite/c_runtime/exp/test2/CMakeLists.txt with 50% similarity]
src/pal/tests/palsuite/c_runtime/fabsf/test1/test1.c [new file with mode: 0644]
src/pal/tests/palsuite/c_runtime/fabsf/test1/testinfo.dat [moved from src/pal/tests/palsuite/c_runtime/exp/test2/testinfo.dat with 59% similarity]
src/pal/tests/palsuite/c_runtime/floor/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/floor/test1/test1.c
src/pal/tests/palsuite/c_runtime/floor/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/fmod/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/fmod/test1/test1.c
src/pal/tests/palsuite/c_runtime/fmod/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/fmodf/CMakeLists.txt [new file with mode: 0644]
src/pal/tests/palsuite/c_runtime/fmodf/test1/CMakeLists.txt [moved from src/pal/tests/palsuite/c_runtime/pow/test2/CMakeLists.txt with 50% similarity]
src/pal/tests/palsuite/c_runtime/fmodf/test1/test1.c [new file with mode: 0644]
src/pal/tests/palsuite/c_runtime/fmodf/test1/testinfo.dat [moved from src/pal/tests/palsuite/c_runtime/pow/test3/testinfo.dat with 55% similarity]
src/pal/tests/palsuite/c_runtime/log/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/log/test1/test1.c
src/pal/tests/palsuite/c_runtime/log/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/log10/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/log10/test1/test1.c
src/pal/tests/palsuite/c_runtime/modf/test1/test1.c
src/pal/tests/palsuite/c_runtime/modff/CMakeLists.txt [new file with mode: 0644]
src/pal/tests/palsuite/c_runtime/modff/test1/CMakeLists.txt [moved from src/pal/tests/palsuite/c_runtime/exp/test3/CMakeLists.txt with 50% similarity]
src/pal/tests/palsuite/c_runtime/modff/test1/test1.c [new file with mode: 0644]
src/pal/tests/palsuite/c_runtime/modff/test1/testinfo.dat [moved from src/pal/tests/palsuite/c_runtime/exp/test3/testinfo.dat with 55% similarity]
src/pal/tests/palsuite/c_runtime/pow/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/pow/test1/test1.c
src/pal/tests/palsuite/c_runtime/pow/test2/test2.c [deleted file]
src/pal/tests/palsuite/c_runtime/pow/test2/testinfo.dat [deleted file]
src/pal/tests/palsuite/c_runtime/pow/test3/CMakeLists.txt [deleted file]
src/pal/tests/palsuite/c_runtime/pow/test3/test3.c [deleted file]
src/pal/tests/palsuite/c_runtime/sin/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/sin/test1/test1.c
src/pal/tests/palsuite/c_runtime/sin/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/sinh/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/sinh/test1/test1.c
src/pal/tests/palsuite/c_runtime/sinh/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/sqrt/test1/test1.c
src/pal/tests/palsuite/c_runtime/tan/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/tan/test1/test1.c
src/pal/tests/palsuite/c_runtime/tan/test1/testinfo.dat
src/pal/tests/palsuite/c_runtime/tanh/CMakeLists.txt
src/pal/tests/palsuite/c_runtime/tanh/test1/test1.c
src/pal/tests/palsuite/c_runtime/tanh/test1/testinfo.dat
src/pal/tests/palsuite/paltestlist.txt
src/pal/tests/palsuite/palverify.dat
src/vm/amd64/JitHelpers_Fast.asm
src/vm/ecalllist.h
src/vm/mscorlib.cpp
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AbsDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AcosDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AsinDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Atan2Double.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AtanDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CeilingDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CosDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CoshDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/ExpDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/FloorDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Log10Double.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/LogDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/PowDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/RoundDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinhDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SqrtDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanhDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/MathTests.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AbsSingle.cs [new file with mode: 0644]
tests/src/JIT/Performance/RunBenchmarks/benchmarks.xml
tests/src/JIT/Performance/RunBenchmarks/coreclr_benchmarks.xml