diff options
author | Hongtao Yu <hoy@microsoft.com> | 2015-12-08 20:32:22 -0800 |
---|---|---|
committer | Hongtao Yu <hoy@microsoft.com> | 2015-12-09 13:00:56 -0800 |
commit | bb07af3e0b0e6bf2b9b733ac8b9acd4936e04141 (patch) | |
tree | d622505760aab44a2393cc00633af3764e924e0a /tests/src/JIT/jit64/mcc/interop/mcc_i67.il | |
parent | c339949d5c69ff7b4e0d79514ae93b66c63769a2 (diff) | |
download | coreclr-bb07af3e0b0e6bf2b9b733ac8b9acd4936e04141.tar.gz coreclr-bb07af3e0b0e6bf2b9b733ac8b9acd4936e04141.tar.bz2 coreclr-bb07af3e0b0e6bf2b9b733ac8b9acd4936e04141.zip |
Port interopt tests
Disable tests using stdcall pinvoke calls for non-windows platform.
jit\jit64\mcc\interop\mcc_i00.il
jit\jit64\mcc\interop\mcc_i01.il
jit\jit64\mcc\interop\mcc_i02.il
jit\jit64\mcc\interop\mcc_i03.il
jit\jit64\mcc\interop\mcc_i04.il
jit\jit64\mcc\interop\mcc_i05.il
jit\jit64\mcc\interop\mcc_i06.il
jit\jit64\mcc\interop\mcc_i07.il
jit\jit64\mcc\interop\mcc_i14.il
jit\jit64\mcc\interop\mcc_i15.il
jit\jit64\mcc\interop\mcc_i16.il
jit\jit64\mcc\interop\mcc_i17.il
jit\jit64\mcc\interop\mcc_i30.il
jit\jit64\mcc\interop\mcc_i31.il
jit\jit64\mcc\interop\mcc_i32.il
jit\jit64\mcc\interop\mcc_i32.il
jit\jit64\mcc\interop\mcc_i33.il
jit\jit64\mcc\interop\mcc_i34.il
jit\jit64\mcc\interop\mcc_i35.il
jit\jit64\mcc\interop\mcc_i36.il
jit\jit64\mcc\interop\mcc_i37.il
jit\jit64\mcc\interop\mcc_i50.il
jit\jit64\mcc\interop\mcc_i51.il
jit\jit64\mcc\interop\mcc_i52.il
jit\jit64\mcc\interop\mcc_i53.il
jit\jit64\mcc\interop\mcc_i54.il
jit\jit64\mcc\interop\mcc_i55.il
jit\jit64\mcc\interop\mcc_i56.il
jit\jit64\mcc\interop\mcc_i57.il
jit\jit64\mcc\interop\mcc_i60.il
jit\jit64\mcc\interop\mcc_i61.il
jit\jit64\mcc\interop\mcc_i62.il
jit\jit64\mcc\interop\mcc_i63.il
jit\jit64\mcc\interop\mcc_i64.il
jit\jit64\mcc\interop\mcc_i65.il
jit\jit64\mcc\interop\mcc_i66.il
jit\jit64\mcc\interop\mcc_i67.il
jit\jit64\mcc\interop\mcc_i70.il
jit\jit64\mcc\interop\mcc_i71.il
jit\jit64\mcc\interop\mcc_i72.il
jit\jit64\mcc\interop\mcc_i73.il
jit\jit64\mcc\interop\mcc_i74.il
jit\jit64\mcc\interop\mcc_i75.il
jit\jit64\mcc\interop\mcc_i76.il
jit\jit64\mcc\interop\mcc_i77.il
jit\jit64\mcc\interop\mcc_i80.il
jit\jit64\mcc\interop\mcc_i81.il
jit\jit64\mcc\interop\mcc_i82.il
jit\jit64\mcc\interop\mcc_i83.il
jit\jit64\mcc\interop\mcc_i84.il
jit\jit64\mcc\interop\mcc_i85.il
jit\jit64\mcc\interop\mcc_i86.il
jit\jit64\mcc\interop\mcc_i87.il
Disable all tests for non-windows due to dll name resolution
Diffstat (limited to 'tests/src/JIT/jit64/mcc/interop/mcc_i67.il')
-rw-r--r-- | tests/src/JIT/jit64/mcc/interop/mcc_i67.il | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/tests/src/JIT/jit64/mcc/interop/mcc_i67.il b/tests/src/JIT/jit64/mcc/interop/mcc_i67.il new file mode 100644 index 0000000000..171bcb9a7b --- /dev/null +++ b/tests/src/JIT/jit64/mcc/interop/mcc_i67.il @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + + +.assembly extern mscorlib {} +.assembly MCCTest {} +.module mcc_i67.exe + + +.namespace MCCTest +{ + .class MyClass + { + .method assembly static pinvokeimpl("native_i6s" as "#1" stdcall) + valuetype MCCTest.VType6 Sum(unsigned int64, valuetype MCCTest.VType6, float64, valuetype MCCTest.VType6, float32, valuetype MCCTest.VType6, + int32, valuetype MCCTest.VType6, unsigned int16, valuetype MCCTest.VType6, unsigned int32, valuetype MCCTest.VType6, + float32, valuetype MCCTest.VType6, int64, valuetype MCCTest.VType6, float32, valuetype MCCTest.VType6, + float64, valuetype MCCTest.VType6, float32, valuetype MCCTest.VType6, int16, valuetype MCCTest.VType6) cil managed preservesig { + } + + .method private valuetype MCCTest.VType6 GetSum() + { + .maxstack 64 + .locals init ( + [0] valuetype MCCTest.VType6 v1, + [1] valuetype MCCTest.VType6 v2, + [2] valuetype MCCTest.VType6 v3, + [3] valuetype MCCTest.VType6 v4, + [4] valuetype MCCTest.VType6 v5, + [5] valuetype MCCTest.VType6 v6, + [6] valuetype MCCTest.VType6 v7, + [7] valuetype MCCTest.VType6 v8, + [8] valuetype MCCTest.VType6 v9, + [9] valuetype MCCTest.VType6 v10, + [10] valuetype MCCTest.VType6 v11, + [11] valuetype MCCTest.VType6 v12 + ) + + // Initialize v1 thru v12 + ldloca.s v1 + call instance void MCCTest.VType6::Init() + ldloca.s v2 + call instance void MCCTest.VType6::Init() + ldloca.s v3 + call instance void MCCTest.VType6::Init() + ldloca.s v4 + call instance void MCCTest.VType6::Init() + ldloca.s v5 + call instance void MCCTest.VType6::Init() + ldloca.s v6 + call instance void MCCTest.VType6::Init() + ldloca.s v7 + call instance void MCCTest.VType6::Init() + ldloca.s v8 + call instance void MCCTest.VType6::Init() + ldloca.s v9 + call instance void MCCTest.VType6::Init() + ldloca.s v10 + call instance void MCCTest.VType6::Init() + ldloca.s v11 + call instance void MCCTest.VType6::Init() + ldloca.s v12 + call instance void MCCTest.VType6::Init() + + ldc.i8 1 + ldloc.s v1 + ldc.r8 2 + ldloc.s v2 + ldc.r4 3 + ldloc.s v3 + ldc.i4 4 + ldloc.s v4 + ldc.i8 5 + conv.u2 + ldloc.s v5 + ldc.i4 6 + ldloc.s v6 + ldc.r4 7 + ldloc.s v7 + ldc.i8 8 + ldloc.s v8 + ldc.r4 9 + ldloc.s v9 + ldc.r8 10 + ldloc.s v10 + ldc.r4 11 + ldloc.s v11 + ldc.i8 12 + conv.i2 + ldloc.s v12 + call valuetype MCCTest.VType6 MCCTest.MyClass::GetSum2( unsigned int64, valuetype MCCTest.VType6, + float64, valuetype MCCTest.VType6, + float32, valuetype MCCTest.VType6, + int32, valuetype MCCTest.VType6, + unsigned int16, valuetype MCCTest.VType6, + unsigned int32, valuetype MCCTest.VType6, + float32, valuetype MCCTest.VType6, + int64, valuetype MCCTest.VType6, + float32, valuetype MCCTest.VType6, + float64, valuetype MCCTest.VType6, + float32, valuetype MCCTest.VType6, + int16, valuetype MCCTest.VType6) + ret + } + + .method private static valuetype MCCTest.VType6 GetSum2(unsigned int64, valuetype MCCTest.VType6, float64, valuetype MCCTest.VType6, float32, valuetype MCCTest.VType6, + int32, valuetype MCCTest.VType6, unsigned int16, valuetype MCCTest.VType6, unsigned int32, valuetype MCCTest.VType6, + float32, valuetype MCCTest.VType6, int64, valuetype MCCTest.VType6, float32, valuetype MCCTest.VType6, + float64, valuetype MCCTest.VType6, float32, valuetype MCCTest.VType6, int16, valuetype MCCTest.VType6) + { + jmp valuetype MCCTest.VType6 MCCTest.MyClass::Sum(unsigned int64, valuetype MCCTest.VType6, float64, valuetype MCCTest.VType6, float32, valuetype MCCTest.VType6, + int32, valuetype MCCTest.VType6, unsigned int16, valuetype MCCTest.VType6, unsigned int32, valuetype MCCTest.VType6, + float32, valuetype MCCTest.VType6, int64, valuetype MCCTest.VType6, float32, valuetype MCCTest.VType6, + float64, valuetype MCCTest.VType6, float32, valuetype MCCTest.VType6, int16, valuetype MCCTest.VType6) + } + + .method public specialname rtspecialname instance void .ctor() + { + .maxstack 1 + ldarg.0 + call instance void [mscorlib]System.Object::.ctor() + ret + } // end of method MyClass::.ctor + + .method private static int32 Main(string[] args) + { + .entrypoint + .maxstack 64 + .locals init ( + [0] class MCCTest.MyClass me, + [1] valuetype MCCTest.VType6 res, + [2] int32 rc + ) + + newobj instance void MCCTest.MyClass::.ctor() + stloc.s me + + ldloc.s me + call instance valuetype MCCTest.VType6 MCCTest.MyClass::GetSum() + stloc.s res + + // Check Result + ldloc.s res + ldc.i4 12 + call int32 MCCTest.Common::CheckResult(valuetype MCCTest.VType6, int32) + stloc.s rc + + ldloc.s rc + ret + } // end of method MyClass::Main + + } // end of class MyClass + +} // end of namespace MCCTest |