summaryrefslogtreecommitdiff
path: root/tests/src/JIT/jit64/mcc/interop/mcc_i30.il
diff options
context:
space:
mode:
authorHongtao Yu <hoy@microsoft.com>2015-12-08 20:32:22 -0800
committerHongtao Yu <hoy@microsoft.com>2015-12-09 13:00:56 -0800
commitbb07af3e0b0e6bf2b9b733ac8b9acd4936e04141 (patch)
treed622505760aab44a2393cc00633af3764e924e0a /tests/src/JIT/jit64/mcc/interop/mcc_i30.il
parentc339949d5c69ff7b4e0d79514ae93b66c63769a2 (diff)
downloadcoreclr-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_i30.il')
-rw-r--r--tests/src/JIT/jit64/mcc/interop/mcc_i30.il112
1 files changed, 112 insertions, 0 deletions
diff --git a/tests/src/JIT/jit64/mcc/interop/mcc_i30.il b/tests/src/JIT/jit64/mcc/interop/mcc_i30.il
new file mode 100644
index 0000000000..56ad491cc7
--- /dev/null
+++ b/tests/src/JIT/jit64/mcc/interop/mcc_i30.il
@@ -0,0 +1,112 @@
+// 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_i30.exe
+
+
+.namespace MCCTest
+{
+ .class MyClass
+ {
+ .method assembly static pinvokeimpl("native_i3c" as "#1" cdecl)
+ vararg valuetype MCCTest.VType3 Sum(float64, int32, int64, float32, int16, float64) cil managed preservesig {
+ }
+
+ .method private static int32 Main(string[] args)
+ {
+ .entrypoint
+ .maxstack 64
+ .locals init (
+ [0] valuetype MCCTest.VType3 res,
+ [1] valuetype MCCTest.VType3 v1,
+ [2] valuetype MCCTest.VType3 v2,
+ [3] valuetype MCCTest.VType3 v3,
+ [4] valuetype MCCTest.VType3 v4,
+ [5] valuetype MCCTest.VType3 v5,
+ [6] valuetype MCCTest.VType3 v6,
+ [7] valuetype MCCTest.VType3 v7,
+ [8] valuetype MCCTest.VType3 v8,
+ [9] valuetype MCCTest.VType3 v9,
+ [10] valuetype MCCTest.VType3 v10,
+ [11] valuetype MCCTest.VType3 v11,
+ [12] valuetype MCCTest.VType3 v12,
+ [13] int32 rc
+ )
+
+ // Initialize v1 thru v12
+ ldloca.s v1
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v2
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v3
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v4
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v5
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v6
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v7
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v8
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v9
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v10
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v11
+ call instance void MCCTest.VType3::Init()
+ ldloca.s v12
+ call instance void MCCTest.VType3::Init()
+
+ ldc.r8 5
+ ldc.i4 1
+ ldc.i8 2
+ ldc.r4 -1
+ ldc.i4 -3
+ conv.i2
+ ldc.r8 8
+ ldloc.s v1
+ ldloc.s v2
+ ldloc.s v3
+ ldloc.s v4
+ ldloc.s v5
+ ldloc.s v6
+ ldloc.s v7
+ ldloc.s v8
+ ldloc.s v9
+ ldloc.s v10
+ ldloc.s v11
+ ldloc.s v12
+ call vararg valuetype MCCTest.VType3 MCCTest.MyClass::Sum(float64, int32, int64, float32, int16, float64, ...,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3,
+ valuetype MCCTest.VType3)
+
+ stloc.s res
+
+ // Check Result
+ ldloc.s res
+ ldc.i4 12
+ call int32 MCCTest.Common::CheckResult(valuetype MCCTest.VType3, int32)
+ stloc.s rc
+
+ ldloc.s rc
+ ret
+ } // end of method MyClass::Main
+
+ } // end of class MyClass
+
+} // end of namespace MCCTest