Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Sse.cs
Go to the documentation of this file.
2
4
5[Intrinsic]
6[CLSCompliant(false)]
7public abstract class Sse : X86Base
8{
9 [Intrinsic]
10 public new abstract class X64 : X86Base.X64
11 {
12 public new static bool IsSupported => IsSupported;
13
15 {
16 return ConvertToInt64(value);
17 }
18
23
28 }
29
30 public new static bool IsSupported => IsSupported;
31
33 {
34 return Add(left, right);
35 }
36
38 {
39 return AddScalar(left, right);
40 }
41
43 {
44 return And(left, right);
45 }
46
48 {
49 return AndNot(left, right);
50 }
51
53 {
54 return CompareEqual(left, right);
55 }
56
58 {
59 return CompareScalarOrderedEqual(left, right);
60 }
61
63 {
64 return CompareScalarUnorderedEqual(left, right);
65 }
66
68 {
69 return CompareScalarEqual(left, right);
70 }
71
73 {
74 return CompareGreaterThan(left, right);
75 }
76
78 {
79 return CompareScalarOrderedGreaterThan(left, right);
80 }
81
83 {
84 return CompareScalarUnorderedGreaterThan(left, right);
85 }
86
88 {
89 return CompareScalarGreaterThan(left, right);
90 }
91
96
101
106
111
113 {
114 return CompareLessThan(left, right);
115 }
116
118 {
119 return CompareScalarOrderedLessThan(left, right);
120 }
121
123 {
124 return CompareScalarUnorderedLessThan(left, right);
125 }
126
128 {
129 return CompareScalarLessThan(left, right);
130 }
131
133 {
134 return CompareLessThanOrEqual(left, right);
135 }
136
138 {
139 return CompareScalarOrderedLessThanOrEqual(left, right);
140 }
141
143 {
144 return CompareScalarUnorderedLessThanOrEqual(left, right);
145 }
146
151
153 {
154 return CompareNotEqual(left, right);
155 }
156
158 {
159 return CompareScalarOrderedNotEqual(left, right);
160 }
161
163 {
164 return CompareScalarUnorderedNotEqual(left, right);
165 }
166
168 {
169 return CompareScalarNotEqual(left, right);
170 }
171
173 {
174 return CompareNotGreaterThan(left, right);
175 }
176
181
186
191
193 {
194 return CompareNotLessThan(left, right);
195 }
196
198 {
199 return CompareScalarNotLessThan(left, right);
200 }
201
203 {
204 return CompareNotLessThanOrEqual(left, right);
205 }
206
211
213 {
214 return CompareOrdered(left, right);
215 }
216
218 {
219 return CompareScalarOrdered(left, right);
220 }
221
223 {
224 return CompareUnordered(left, right);
225 }
226
228 {
229 return CompareScalarUnordered(left, right);
230 }
231
233 {
234 return ConvertToInt32(value);
235 }
236
241
246
248 {
249 return Divide(left, right);
250 }
251
253 {
254 return DivideScalar(left, right);
255 }
256
257 public unsafe static Vector128<float> LoadVector128(float* address)
258 {
259 return LoadVector128(address);
260 }
261
262 public unsafe static Vector128<float> LoadScalarVector128(float* address)
263 {
264 return LoadScalarVector128(address);
265 }
266
267 public unsafe static Vector128<float> LoadAlignedVector128(float* address)
268 {
269 return LoadAlignedVector128(address);
270 }
271
272 public unsafe static Vector128<float> LoadHigh(Vector128<float> lower, float* address)
273 {
274 return LoadHigh(lower, address);
275 }
276
277 public unsafe static Vector128<float> LoadLow(Vector128<float> upper, float* address)
278 {
279 return LoadLow(upper, address);
280 }
281
283 {
284 return Max(left, right);
285 }
286
288 {
289 return MaxScalar(left, right);
290 }
291
293 {
294 return Min(left, right);
295 }
296
298 {
299 return MinScalar(left, right);
300 }
301
303 {
304 return MoveScalar(upper, value);
305 }
306
308 {
309 return MoveHighToLow(left, right);
310 }
311
313 {
314 return MoveLowToHigh(left, right);
315 }
316
317 public static int MoveMask(Vector128<float> value)
318 {
319 return MoveMask(value);
320 }
321
323 {
324 return Multiply(left, right);
325 }
326
328 {
329 return MultiplyScalar(left, right);
330 }
331
333 {
334 return Or(left, right);
335 }
336
337 public unsafe static void Prefetch0(void* address)
338 {
339 Prefetch0(address);
340 }
341
342 public unsafe static void Prefetch1(void* address)
343 {
344 Prefetch1(address);
345 }
346
347 public unsafe static void Prefetch2(void* address)
348 {
349 Prefetch2(address);
350 }
351
352 public unsafe static void PrefetchNonTemporal(void* address)
353 {
354 PrefetchNonTemporal(address);
355 }
356
358 {
359 return Reciprocal(value);
360 }
361
366
371
376
381
386
387 public static Vector128<float> Shuffle(Vector128<float> left, Vector128<float> right, byte control)
388 {
389 return Shuffle(left, right, control);
390 }
391
393 {
394 return Sqrt(value);
395 }
396
398 {
399 return SqrtScalar(value);
400 }
401
403 {
404 return SqrtScalar(upper, value);
405 }
406
407 public unsafe static void StoreAligned(float* address, Vector128<float> source)
408 {
409 StoreAligned(address, source);
410 }
411
412 public unsafe static void StoreAlignedNonTemporal(float* address, Vector128<float> source)
413 {
415 }
416
417 public unsafe static void Store(float* address, Vector128<float> source)
418 {
419 Store(address, source);
420 }
421
422 public static void StoreFence()
423 {
424 StoreFence();
425 }
426
427 public unsafe static void StoreScalar(float* address, Vector128<float> source)
428 {
429 StoreScalar(address, source);
430 }
431
432 public unsafe static void StoreHigh(float* address, Vector128<float> source)
433 {
434 StoreHigh(address, source);
435 }
436
437 public unsafe static void StoreLow(float* address, Vector128<float> source)
438 {
439 StoreLow(address, source);
440 }
441
443 {
444 return Subtract(left, right);
445 }
446
448 {
449 return SubtractScalar(left, right);
450 }
451
453 {
454 return UnpackHigh(left, right);
455 }
456
458 {
459 return UnpackLow(left, right);
460 }
461
463 {
464 return Xor(left, right);
465 }
466}
static long ConvertToInt64WithTruncation(Vector128< float > value)
Definition Sse.cs:24
static Vector128< float > ConvertScalarToVector128Single(Vector128< float > upper, long value)
Definition Sse.cs:19
static long ConvertToInt64(Vector128< float > value)
Definition Sse.cs:14
static Vector128< float > DivideScalar(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:252
static Vector128< float > MoveHighToLow(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:307
static bool CompareScalarUnorderedGreaterThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:102
static Vector128< float > CompareOrdered(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:212
static Vector128< float > CompareNotLessThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:192
static Vector128< float > CompareScalarNotGreaterThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:177
static bool CompareScalarOrderedLessThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:117
static Vector128< float > ReciprocalSqrt(Vector128< float > value)
Definition Sse.cs:372
static unsafe void Store(float *address, Vector128< float > source)
Definition Sse.cs:417
static Vector128< float > CompareScalarGreaterThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:87
static bool CompareScalarUnorderedNotEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:162
static bool CompareScalarOrderedLessThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:137
static Vector128< float > CompareLessThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:112
static unsafe void StoreAlignedNonTemporal(float *address, Vector128< float > source)
Definition Sse.cs:412
static Vector128< float > ReciprocalSqrtScalar(Vector128< float > upper, Vector128< float > value)
Definition Sse.cs:382
static bool CompareScalarOrderedGreaterThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:77
static unsafe void StoreAligned(float *address, Vector128< float > source)
Definition Sse.cs:407
static Vector128< float > Sqrt(Vector128< float > value)
Definition Sse.cs:392
static int ConvertToInt32(Vector128< float > value)
Definition Sse.cs:232
static Vector128< float > CompareEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:52
static Vector128< float > CompareLessThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:132
static Vector128< float > CompareScalarNotEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:167
static Vector128< float > MinScalar(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:297
static unsafe void StoreHigh(float *address, Vector128< float > source)
Definition Sse.cs:432
static unsafe void Prefetch0(void *address)
Definition Sse.cs:337
static Vector128< float > SqrtScalar(Vector128< float > value)
Definition Sse.cs:397
static Vector128< float > CompareScalarEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:67
static Vector128< float > MaxScalar(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:287
static Vector128< float > AndNot(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:47
static unsafe void Prefetch2(void *address)
Definition Sse.cs:347
static int MoveMask(Vector128< float > value)
Definition Sse.cs:317
static Vector128< float > CompareNotLessThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:202
static Vector128< float > CompareScalarNotLessThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:207
static Vector128< float > UnpackHigh(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:452
static unsafe Vector128< float > LoadHigh(Vector128< float > lower, float *address)
Definition Sse.cs:272
static Vector128< float > Max(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:282
static Vector128< float > CompareScalarOrdered(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:217
static Vector128< float > ConvertScalarToVector128Single(Vector128< float > upper, int value)
Definition Sse.cs:237
static Vector128< float > Xor(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:462
static int ConvertToInt32WithTruncation(Vector128< float > value)
Definition Sse.cs:242
static unsafe void StoreLow(float *address, Vector128< float > source)
Definition Sse.cs:437
static Vector128< float > CompareScalarNotLessThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:197
static Vector128< float > CompareScalarLessThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:147
static Vector128< float > AddScalar(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:37
static Vector128< float > MultiplyScalar(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:327
static Vector128< float > And(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:42
static unsafe Vector128< float > LoadLow(Vector128< float > upper, float *address)
Definition Sse.cs:277
static bool CompareScalarUnorderedLessThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:142
static unsafe void Prefetch1(void *address)
Definition Sse.cs:342
static Vector128< float > CompareScalarLessThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:127
static Vector128< float > CompareNotGreaterThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:172
static new bool IsSupported
Definition Sse.cs:30
static unsafe Vector128< float > LoadVector128(float *address)
Definition Sse.cs:257
static bool CompareScalarOrderedEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:57
static unsafe void StoreScalar(float *address, Vector128< float > source)
Definition Sse.cs:427
static Vector128< float > CompareScalarNotGreaterThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:187
static Vector128< float > ReciprocalScalar(Vector128< float > upper, Vector128< float > value)
Definition Sse.cs:367
static Vector128< float > CompareNotGreaterThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:182
static Vector128< float > Shuffle(Vector128< float > left, Vector128< float > right, byte control)
Definition Sse.cs:387
static Vector128< float > Reciprocal(Vector128< float > value)
Definition Sse.cs:357
static Vector128< float > Min(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:292
static Vector128< float > Multiply(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:322
static Vector128< float > CompareScalarGreaterThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:107
static Vector128< float > SubtractScalar(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:447
static Vector128< float > CompareUnordered(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:222
static Vector128< float > Or(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:332
static bool CompareScalarOrderedNotEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:157
static Vector128< float > MoveScalar(Vector128< float > upper, Vector128< float > value)
Definition Sse.cs:302
static Vector128< float > ReciprocalScalar(Vector128< float > value)
Definition Sse.cs:362
static Vector128< float > UnpackLow(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:457
static Vector128< float > Add(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:32
static Vector128< float > CompareGreaterThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:72
static Vector128< float > Subtract(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:442
static Vector128< float > SqrtScalar(Vector128< float > upper, Vector128< float > value)
Definition Sse.cs:402
static unsafe Vector128< float > LoadAlignedVector128(float *address)
Definition Sse.cs:267
static bool CompareScalarOrderedGreaterThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:97
static Vector128< float > Divide(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:247
static bool CompareScalarUnorderedGreaterThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:82
static unsafe void PrefetchNonTemporal(void *address)
Definition Sse.cs:352
static bool CompareScalarUnorderedEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:62
static bool CompareScalarUnorderedLessThan(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:122
static Vector128< float > CompareGreaterThanOrEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:92
static Vector128< float > CompareScalarUnordered(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:227
static Vector128< float > ReciprocalSqrtScalar(Vector128< float > value)
Definition Sse.cs:377
static Vector128< float > CompareNotEqual(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:152
static Vector128< float > MoveLowToHigh(Vector128< float > left, Vector128< float > right)
Definition Sse.cs:312
static unsafe Vector128< float > LoadScalarVector128(float *address)
Definition Sse.cs:262
static unsafe(int Eax, int Ebx, int Ecx, int Edx) CpuId(int functionId