e508f043319f7b68b7e625cfcf5bf1aeeb5098db
[mono.git] / mcs / class / Mono.Simd / Mono.Simd / ChangeLog
1 2010-03-24 Rodrigo Kumpera  <rkumpera@novell.com>
2
3         * Vector4f.cs: Add vector x scalar multiply.
4
5 2009-09-18 Rodrigo Kumpera  <rkumpera@novell.com>
6
7         * SimdRuntime.cs: Raise an exception if the method been queried
8         for acceleration is not found. Methods taking an array now are
9         variadic.
10
11 2009-07-14  Zoltan Varga  <vargaz@gmail.com>
12
13         * Changelog: Rename this to ChangeLog.
14         
15         * Mono.Simd/Mono.Simd/ArrayExtensions.cs: Don't ignore the 'offset'
16         parameter in the GetVector () methods. Fixes #521692.
17
18 2009-01-19 Rodrigo Kumpera  <rkumpera@novell.com>
19
20         * Vector*.cs: Add ToString, single element constructors
21         and some helper constants.
22
23         Based on a patch by Jerry Maine.
24
25 2009-01-07 Rodrigo Kumpera  <rkumpera@novell.com>
26
27         * Vector*.cs: Use explicit layout to avoid the runtime
28         miscalculating the size of vector types.
29
30 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
31
32         * VectorOperations.cs: Move methods from Vector16b.
33
34         * Vector16b.cs: Same.
35
36 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
37
38         * VectorOperations.cs: Move methods from Vector16sb.
39
40         * Vector16sb.cs: Same.
41
42 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
43
44         * VectorOperations.cs: Move methods from Vector8us.
45
46         * Vector8us.cs: Same.
47
48 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
49
50         * VectorOperations.cs: Move methods from Vector8s.
51
52         * Vector8s.cs: Same.
53
54 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
55
56         * VectorOperations.cs: Move methods from Vector4ui.
57
58         * Vector4ui.cs: Same.
59
60 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
61
62         * VectorOperations.cs: Move methods from Vector4i.
63
64         * Vector4i.cs: Same.
65
66 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
67
68         * VectorOperations.cs: Move methods from Vector2ul.
69
70         * Vector2ul.cs: Same.
71
72 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
73
74         * VectorOperations.cs: Move methods from Vector2l.
75
76         * Vector2l.cs: Same.
77
78 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
79
80         * VectorOperations.cs: Move methods from Vector2d.
81
82         * Vector2d.cs: Same.
83
84 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
85
86         * VectorOperations.cs: New file with extension methods
87         for Vector*. Added methods from Vector4f.
88
89         * Vector4f.cs: Remove methods that are now in
90         VectorOperations.
91
92 2008-12-05  Rodrigo Kumpera  <rkumpera@novell.com>
93
94         * Vector16(s)b.cs: Add operator == and !=.
95
96 2008-12-05  Rodrigo Kumpera  <rkumpera@novell.com>
97
98         * Vector8(u)s.cs: Add operator == and !=.
99
100 2008-12-05  Rodrigo Kumpera  <rkumpera@novell.com>
101
102         * Vector4f.cs: Add operator == and !=.
103
104 2008-12-04  Rodrigo Kumpera  <rkumpera@novell.com>
105
106         * Vector4(u)i.cs: Add operator == and !=.
107
108 2008-12-04  Rodrigo Kumpera  <rkumpera@novell.com>
109
110         * Vector2/4/8*.cs: Remove ExtractByteMask.
111
112 2008-11-28  Rodrigo Kumpera  <rkumpera@novell.com>
113
114         * ArrayExtensions.cs (IsAligned): Add a sensible default
115         implementation that will give results similar to the instrinsic version.
116
117 2008-11-27  Rodrigo Kumpera  <rkumpera@novell.com>
118
119         * ArrayExtensions.cs: Add aligned Get/SetVector variants for
120         all vector types.
121
122 2008-11-27  Rodrigo Kumpera  <rkumpera@novell.com>
123
124         * ArrayExtensions.cs: Add Get/SetVector variants for
125         all vector types.
126
127         * ArrayExtensions.cs: Add IsAligned query method to check
128         is an index of a given array is property aligned for simd.
129
130 2008-11-21  Rodrigo Kumpera  <rkumpera@novell.com>
131
132         * ArrayExtensions.cs: New type exposing extension
133         methods to primitive arrays to load/store Vectors
134         from.
135
136 2008-11-21  Rodrigo Kumpera  <rkumpera@novell.com>
137
138         * Vector*.cs: Use 4 bytes operations for bitwise ops (& | ^)
139         as it can cause problems on some archs.
140
141 2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>
142
143         * Vector2l.cs (CompareGreaterThan): This method requires sse 4.2
144         and 4.1.
145
146 2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>
147
148         * SimdRuntime.cs (MethodAccelerationMode): Add MethodInfo
149         overload.
150
151 2008-11-12  Rodrigo Kumpera  <rkumpera@novell.com>
152
153         * Vector*.cs: Renamed ShiftRightLogic to LogicalRightShift and
154         ShiftRightArithmetic to ArithmeticRightShift.
155         
156 2008-11-12  Rodrigo Kumpera  <rkumpera@novell.com>
157
158         * Vector*.cs: Renamed SubWithSaturation to SubtractWithSaturation.
159
160 2008-11-12  Cedric vivier  <cedricv@neonux.com>
161
162         * Vector*.cs: Add indexer to all Vector types to get/set an individual component's value.
163
164 2008-11-12  Cedric Vivier  <cedricv@neonux.com>
165
166         * Vector*.cs: Optimize non-accelerated bitwise-operations (| & ^).
167
168 2008-11-04  Rodrigo Kumpera  <rkumpera@novell.com>
169
170         * Vector*.cs: Use a better name for the prefetch
171         instructions.
172
173 2008-11-03  Rodrigo Kumpera  <rkumpera@novell.com>
174
175         * Vector*.cs: Added prefetch operations.
176
177 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
178
179         * Vector*.cs: Added casting between all types.
180
181 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
182
183         * Vector4i.cs: Add Acceleration attribute to all methods.
184
185 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
186
187         * Vector4ui.cs: Add Acceleration attribute to all methods.
188
189 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
190
191         * Vector16sb.cs: Add Acceleration attribute to all methods.
192
193 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
194
195         * Vector16b.cs: Add Acceleration attribute to all methods.
196
197 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
198
199         * Vector8us.cs: Add Acceleration attribute to all methods.
200
201 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
202
203         * Vector8s.cs: Add Acceleration attribute to all methods.
204
205 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
206
207         * Vector2ul.cs: Add Acceleration attribute to all methods.
208
209 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
210
211         * Vector2l.cs: Add Acceleration attribute to all methods.
212
213 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
214
215         * Vector2d.cs: Add Acceleration attribute to all methods.
216
217 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
218
219         * Vector4f.cs: Fix acceleration attribute of Shuffle.
220
221 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
222
223         * Vector4f.cs: Add Acceleration attribute to all methods.
224
225 2008-10-29  Rodrigo Kumpera  <rkumpera@novell.com>
226
227         * AccelMode.cs: 
228         * AccelerationAttribute.cs: 
229         * SimdRuntime.cs: Support files to provide runtime capabilities querying.
230
231 2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>
232
233         * Vector2ul.cs: New vector type.
234
235 2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>
236
237         * Vector2l.cs : Remove useless comments.
238
239 2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>
240
241         * Vector2l.cs (operator ^): Simplify and fix the implementation.
242
243 2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>
244
245         * Vector2l.cs: New vector type.
246
247 2008-10-27  Rodrigo Kumpera  <rkumpera@novell.com>
248
249         * Vector2d.cs: New vector type.
250
251 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
252
253         * Vector16b: Mark type as CLS compliant (remove attribute) and
254         mark the methods which are not.
255
256 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
257
258         * Vector4i.cs: New vector type.
259
260 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
261
262         * Vector4ui.cs: Add missing SSE 4.1 comments.
263
264 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
265
266         * Vector16sb.cs: Fix a warning.
267
268         * Vector4f.cs: Add some missing CLSCompliant attributes.
269
270         * Vector8s.cs: Add CompareGreaterThan and a missing
271         CLSCompliant attribute.
272
273 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
274
275         * Vector8us.cs: Add some missing SSE 4.1 comments.
276
277 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
278
279         * Vector8s.cs: New vector type.
280
281 2008-10-23  Rodrigo Kumpera  <rkumpera@novell.com>
282
283         * Vector16b.cs: Remove methods without sse equivalent.
284         * Vector16b.cs (SumOfAbsoluteDifferences) Fix the signature.
285
286 2008-10-23  Rodrigo Kumpera  <rkumpera@novell.com>
287
288         * Vector16sb.cs: New vector type.
289
290 2008-10-21  Rodrigo Kumpera  <rkumpera@novell.com>
291
292         * Vector16b.cs: Added Load/StoreAligned with pointer args.
293
294         * Vector4f.cs: Added Load/StoreAligned with pointer args.
295
296         * Vector4ui.cs: Added Load/StoreAligned with pointer args.
297
298         * Vector8us.cs: Added Load/StoreAligned with pointer args.
299
300 2008-10-21  Rodrigo Kumpera  <rkumpera@novell.com>
301
302         * Vector4f.cs: Renamed CompareEquals to CompareEqual.
303
304 2008-10-21  Rodrigo Kumpera  <rkumpera@novell.com>
305
306         * Vector4ui.cs: Added SignedPackWithUnsignedSaturation.
307
308 2008-10-21  Rodrigo Kumpera  <rkumpera@novell.com>
309
310         * Vector8us.cs: Added SignedPackWithUnsignedSaturation.
311
312 2008-10-20  Rodrigo Kumpera  <rkumpera@novell.com>
313
314         * Vector16b.cs: Added casts to Vector4ui and Vector8us
315
316         * Vector4f.cs: Added casts to Vector8us and Vector16b
317
318         * Vector4ui.cs: Added casts to Vector8us and Vector16b
319
320         * Vector8us.cs: Added casts to Vector4ui and Vector16b
321
322 2008-10-20  Rodrigo Kumpera  <rkumpera@novell.com>
323
324         * Vector8us.cs: Added CompareEqual and MultiplyStoreHigh.
325
326 2008-10-17  Rodrigo Kumpera  <rkumpera@novell.com>
327
328         * Vector4ui.cs: Remove Average as there is no sse instruction for that.
329
330 2008-10-17  Rodrigo Kumpera  <rkumpera@novell.com>
331
332         * Vector4ui.cs: Added Min, Max, Average, ExtractByteMask,
333         Shuffle and CompareEqual.
334
335 2008-10-16  Rodrigo Kumpera  <rkumpera@novell.com>
336
337         * Vector16b.cs: Added Min, Max, Average, ExtractByteMask,
338         SumOfAbsoluteDifferences and CompareEqual.
339
340 2008-10-15  Rodrigo Kumpera  <rkumpera@novell.com>
341
342         * Vector8us.cs: Added Min, Max, Average, ExtractByteMask and
343         ShuffleLow/ShuffleHigh.
344
345 2008-10-14  Rodrigo Kumpera  <rkumpera@novell.com>
346
347         * Vector4f.cs: Added DuplicateLow and DuplicateHigh.
348
349 2008-10-13  Rodrigo Kumpera  <rkumpera@novell.com>
350
351         * Vector4f.cs: Added bitwise ops, reciprocal, interleave
352         and all flavors of compare.
353         Optimized Shuffle.
354
355         * Vector8us.cs: It turns out that packuswb doesn't work with unsigned
356         numbers that binary equivalent to negative numbers in signed form.
357         Removed PackWithUnsignedSaturation.
358
359         * Vector4ui.cs: Added SSE4.1 comment to relevant method. Removed
360         PackWithUnsignedSaturation for the same reason as above.
361
362 2008-10-10  Rodrigo Kumpera  <rkumpera@novell.com>
363
364         * Vector4ui.cs: Added common operations found in 
365         other unsigned int vector types.
366
367         * Vector8us.cs (ArithmeticRightShift): Do proper sign extention.
368
369         * Vector8us.cs: Fix conversion operators.
370
371         * Vector16b.cs (ArithmeticRightShift): Do proper sign extention.
372
373         * Vector16b.cs: Fix conversion operators.
374
375 2008-10-10  Rodrigo Kumpera  <rkumpera@novell.com>
376
377         * Vector16b.cs, Vector4f.cs, Vector4ui.cs,Vector8us.cs:
378         Type renaming adjustments.
379
380 2008-10-10  Rodrigo Kumpera  <rkumpera@novell.com>
381
382         * Vector4u.cs: Renamed to Vector4ui.cs.
383
384 2008-10-10  Rodrigo Kumpera  <rkumpera@novell.com>
385
386         * Vector8us.cs: Use Math.Min/Max instead of ?:.
387         Fixed PackWithUnsignedSaturation.
388
389         * Vector16b.cs: Use Math.Min/Max instead of ?:.
390         Removed unused PackWithUnsignedSaturation.
391
392 2008-10-10  Rodrigo Kumpera  <rkumpera@novell.com>
393
394         * Vector8us.cs
395         * Vector16b.cs: Added.
396
397 2008-10-07  Rodrigo Kumpera  <rkumpera@novell.com>
398
399         * Vector4f.cs (ShuffleSel): Better naming for the constants.
400         Added some helper constants.
401
402 2008-10-03  Rodrigo Kumpera  <rkumpera@novell.com>
403
404         * Vector4u.cs: Mask type as not CLS compliant.
405
406         * Vector4c.cs: Mask methods returning Vector4u as not CLS compliant.
407
408 2008-10-03  Rodrigo Kumpera  <rkumpera@novell.com>
409
410         * Initial checking of the file layout