Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / mini / MemoryIntrinsics.il
1 .assembly extern mscorlib
2 {
3         .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
4         .ver 4:0:0:0
5 }
6
7 .assembly 'MemoryIntrinsics'
8 {
9         .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78  63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
10         .hash algorithm 0x00008004
11         .ver 0:0:0:0
12 }
13 .module 'instrics-lib.dll'
14 .imagebase 0x00400000
15 .file alignment 0x00000200
16 .stackreserve 0x00100000
17 .subsystem 0x0003
18 .corflags 0x00000001
19
20 .namespace Mono {
21         .class public abstract auto ansi sealed beforefieldinit Intrinsics extends [mscorlib]System.Object
22         {
23                 .method public hidebysig static void  Cpobj<T>(void* 'to', void* from) cil managed
24                 {
25                         ldarg.0
26                         ldarg.1
27                         cpobj !!T
28                         ret
29                 }
30
31                 .method public hidebysig static !!T Ldobj<T>(void* 'from') cil managed
32                 {
33                         ldarg.0
34                         ldobj !!T
35                         ret
36                 }
37
38                 .method public hidebysig static void Stobj<T>(void* 'to', !!T 'value') cil managed
39                 {
40                         ldarg.0
41                         ldarg.1
42                         stobj !!T
43                         ret
44                 }
45
46                 .method public hidebysig static void LdobjStObjPair<T>(void* 'to', void* 'from') cil managed
47                 {
48                         ldarg.0
49                         ldarg.1
50                         ldobj !!T
51                         stobj !!T
52                         ret
53                 }
54
55                 .method public hidebysig static void Cpblk(void* 'to', void* 'from', int32 size) cil managed
56                 {
57                         ldarg.0
58                         ldarg.1
59                         ldarg.2
60                         cpblk
61                         ret
62                 }
63
64                 .method public hidebysig static void Initblk<T>(void* 'to', int32 'value', int32 'size') cil managed
65                 {
66                         ldarg.0
67                         ldarg.1
68                         ldarg.2
69                         initblk
70                         ret
71                 }
72
73                 //Unaligned intrinsics
74                 .method public hidebysig static void UnalignedCpobj<T>(void* 'to', void* from) cil managed
75                 {
76                         ldarg.0
77                         ldarg.1
78                         unaligned. 1
79                         cpobj !!T
80                         ret
81                 }
82
83                 .method public hidebysig static !!T UnalignedLdobj<T>(void* 'from') cil managed
84                 {
85                         ldarg.0
86                         unaligned. 1
87                         ldobj !!T
88                         ret
89                 }
90
91                 .method public hidebysig static void UnalignedStobj<T>(void* 'to', !!T 'value') cil managed
92                 {
93                         ldarg.0
94                         ldarg.1
95                         unaligned. 1
96                         stobj !!T
97                         ret
98                 }
99
100                 .method public hidebysig static void UnalignedLdobjStObjPair<T>(void* 'to', void* 'from') cil managed
101                 {
102                         ldarg.0
103                         ldarg.1
104                         unaligned. 1
105                         ldobj !!T
106                         stobj !!T
107                         ret
108                 }
109
110                 .method public hidebysig static void UnalignedCpblk(void* 'to', void* 'from', int32 size) cil managed
111                 {
112                         ldarg.0
113                         ldarg.1
114                         ldarg.2
115                         unaligned. 1
116                         cpblk
117                         ret
118                 }
119
120                 .method public hidebysig static void UnalignedInit(void* 'to', int32 'value', int32 'size') cil managed
121                 {
122                         ldarg.0
123                         ldarg.1
124                         ldarg.2
125                         unaligned. 1
126                         initblk
127                         ret
128                 }
129
130                 //Unaligned ldind
131                 .method public hidebysig static int16 UnalignedLdInd2(void* 'from') cil managed
132                 {
133                         ldarg.0
134                         unaligned. 1
135                         ldind.i2
136                         ret
137                 }
138
139                 .method public hidebysig static int32 UnalignedLdInd4(void* 'from') cil managed
140                 {
141                         ldarg.0
142                         unaligned. 1
143                         ldind.i4
144                         ret
145                 }
146
147                 .method public hidebysig static int64 UnalignedLdInd8(void* 'from') cil managed
148                 {
149                         ldarg.0
150                         unaligned. 1
151                         ldind.i8
152                         ret
153                 }
154
155                 .method public hidebysig static float32 UnalignedLdIndR4(void* 'from') cil managed
156                 {
157                         ldarg.0
158                         unaligned. 1
159                         ldind.r4
160                         ret
161                 }
162
163                 .method public hidebysig static float64 UnalignedLdIndR8(void* 'from') cil managed
164                 {
165                         ldarg.0
166                         unaligned. 1
167                         ldind.r8
168                         ret
169                 }
170
171                 .method public hidebysig static native int UnalignedLdIndI(void* 'from') cil managed
172                 {
173                         ldarg.0
174                         unaligned. 1
175                         ldind.i
176                         ret
177                 }
178
179         }
180 }