Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Avx2.cs
Go to the documentation of this file.
2
4
5[Intrinsic]
6[CLSCompliant(false)]
7public abstract class Avx2 : Avx
8{
9 [Intrinsic]
10 public new abstract class X64 : Avx.X64
11 {
12 public new static bool IsSupported => IsSupported;
13 }
14
15 public new static bool IsSupported => IsSupported;
16
18 {
19 return Abs(value);
20 }
21
23 {
24 return Abs(value);
25 }
26
28 {
29 return Abs(value);
30 }
31
33 {
34 return Add(left, right);
35 }
36
38 {
39 return Add(left, right);
40 }
41
43 {
44 return Add(left, right);
45 }
46
48 {
49 return Add(left, right);
50 }
51
53 {
54 return Add(left, right);
55 }
56
58 {
59 return Add(left, right);
60 }
61
63 {
64 return Add(left, right);
65 }
66
68 {
69 return Add(left, right);
70 }
71
73 {
74 return AddSaturate(left, right);
75 }
76
78 {
79 return AddSaturate(left, right);
80 }
81
83 {
84 return AddSaturate(left, right);
85 }
86
88 {
89 return AddSaturate(left, right);
90 }
91
92 public static Vector256<sbyte> AlignRight(Vector256<sbyte> left, Vector256<sbyte> right, byte mask)
93 {
94 return AlignRight(left, right, mask);
95 }
96
97 public static Vector256<byte> AlignRight(Vector256<byte> left, Vector256<byte> right, byte mask)
98 {
99 return AlignRight(left, right, mask);
100 }
101
102 public static Vector256<short> AlignRight(Vector256<short> left, Vector256<short> right, byte mask)
103 {
104 return AlignRight(left, right, mask);
105 }
106
108 {
109 return AlignRight(left, right, mask);
110 }
111
112 public static Vector256<int> AlignRight(Vector256<int> left, Vector256<int> right, byte mask)
113 {
114 return AlignRight(left, right, mask);
115 }
116
117 public static Vector256<uint> AlignRight(Vector256<uint> left, Vector256<uint> right, byte mask)
118 {
119 return AlignRight(left, right, mask);
120 }
121
122 public static Vector256<long> AlignRight(Vector256<long> left, Vector256<long> right, byte mask)
123 {
124 return AlignRight(left, right, mask);
125 }
126
127 public static Vector256<ulong> AlignRight(Vector256<ulong> left, Vector256<ulong> right, byte mask)
128 {
129 return AlignRight(left, right, mask);
130 }
131
133 {
134 return And(left, right);
135 }
136
138 {
139 return And(left, right);
140 }
141
143 {
144 return And(left, right);
145 }
146
148 {
149 return And(left, right);
150 }
151
153 {
154 return And(left, right);
155 }
156
158 {
159 return And(left, right);
160 }
161
163 {
164 return And(left, right);
165 }
166
168 {
169 return And(left, right);
170 }
171
173 {
174 return AndNot(left, right);
175 }
176
178 {
179 return AndNot(left, right);
180 }
181
183 {
184 return AndNot(left, right);
185 }
186
188 {
189 return AndNot(left, right);
190 }
191
193 {
194 return AndNot(left, right);
195 }
196
198 {
199 return AndNot(left, right);
200 }
201
203 {
204 return AndNot(left, right);
205 }
206
208 {
209 return AndNot(left, right);
210 }
211
213 {
214 return Average(left, right);
215 }
216
218 {
219 return Average(left, right);
220 }
221
222 public static Vector128<int> Blend(Vector128<int> left, Vector128<int> right, byte control)
223 {
224 return Blend(left, right, control);
225 }
226
227 public static Vector128<uint> Blend(Vector128<uint> left, Vector128<uint> right, byte control)
228 {
229 return Blend(left, right, control);
230 }
231
232 public static Vector256<short> Blend(Vector256<short> left, Vector256<short> right, byte control)
233 {
234 return Blend(left, right, control);
235 }
236
237 public static Vector256<ushort> Blend(Vector256<ushort> left, Vector256<ushort> right, byte control)
238 {
239 return Blend(left, right, control);
240 }
241
242 public static Vector256<int> Blend(Vector256<int> left, Vector256<int> right, byte control)
243 {
244 return Blend(left, right, control);
245 }
246
247 public static Vector256<uint> Blend(Vector256<uint> left, Vector256<uint> right, byte control)
248 {
249 return Blend(left, right, control);
250 }
251
253 {
254 return BlendVariable(left, right, mask);
255 }
256
258 {
259 return BlendVariable(left, right, mask);
260 }
261
263 {
264 return BlendVariable(left, right, mask);
265 }
266
268 {
269 return BlendVariable(left, right, mask);
270 }
271
273 {
274 return BlendVariable(left, right, mask);
275 }
276
278 {
279 return BlendVariable(left, right, mask);
280 }
281
283 {
284 return BlendVariable(left, right, mask);
285 }
286
288 {
289 return BlendVariable(left, right, mask);
290 }
291
296
301
306
311
316
321
326
331
336
341
346
351
356
361
366
371
376
381
386
391
396
401
406
411
416
421
426
431
436
441
446
451
456
461
466
471
473 {
474 return BroadcastVector128ToVector256(address);
475 }
476
478 {
479 return BroadcastVector128ToVector256(address);
480 }
481
483 {
484 return BroadcastVector128ToVector256(address);
485 }
486
488 {
489 return BroadcastVector128ToVector256(address);
490 }
491
493 {
494 return BroadcastVector128ToVector256(address);
495 }
496
498 {
499 return BroadcastVector128ToVector256(address);
500 }
501
503 {
504 return BroadcastVector128ToVector256(address);
505 }
506
508 {
509 return BroadcastVector128ToVector256(address);
510 }
511
513 {
514 return CompareEqual(left, right);
515 }
516
518 {
519 return CompareEqual(left, right);
520 }
521
523 {
524 return CompareEqual(left, right);
525 }
526
528 {
529 return CompareEqual(left, right);
530 }
531
533 {
534 return CompareEqual(left, right);
535 }
536
538 {
539 return CompareEqual(left, right);
540 }
541
543 {
544 return CompareEqual(left, right);
545 }
546
548 {
549 return CompareEqual(left, right);
550 }
551
553 {
554 return CompareGreaterThan(left, right);
555 }
556
558 {
559 return CompareGreaterThan(left, right);
560 }
561
563 {
564 return CompareGreaterThan(left, right);
565 }
566
568 {
569 return CompareGreaterThan(left, right);
570 }
571
573 {
574 return ConvertToInt32(value);
575 }
576
578 {
579 return ConvertToUInt32(value);
580 }
581
586
591
596
601
606
611
616
621
626
631
636
641
642 public unsafe static Vector256<short> ConvertToVector256Int16(sbyte* address)
643 {
644 return ConvertToVector256Int16(address);
645 }
646
648 {
649 return ConvertToVector256Int16(address);
650 }
651
652 public unsafe static Vector256<int> ConvertToVector256Int32(sbyte* address)
653 {
654 return ConvertToVector256Int32(address);
655 }
656
657 public unsafe static Vector256<int> ConvertToVector256Int32(byte* address)
658 {
659 return ConvertToVector256Int32(address);
660 }
661
662 public unsafe static Vector256<int> ConvertToVector256Int32(short* address)
663 {
664 return ConvertToVector256Int32(address);
665 }
666
667 public unsafe static Vector256<int> ConvertToVector256Int32(ushort* address)
668 {
669 return ConvertToVector256Int32(address);
670 }
671
672 public unsafe static Vector256<long> ConvertToVector256Int64(sbyte* address)
673 {
674 return ConvertToVector256Int64(address);
675 }
676
677 public unsafe static Vector256<long> ConvertToVector256Int64(byte* address)
678 {
679 return ConvertToVector256Int64(address);
680 }
681
682 public unsafe static Vector256<long> ConvertToVector256Int64(short* address)
683 {
684 return ConvertToVector256Int64(address);
685 }
686
687 public unsafe static Vector256<long> ConvertToVector256Int64(ushort* address)
688 {
689 return ConvertToVector256Int64(address);
690 }
691
693 {
694 return ConvertToVector256Int64(address);
695 }
696
697 public unsafe static Vector256<long> ConvertToVector256Int64(uint* address)
698 {
699 return ConvertToVector256Int64(address);
700 }
701
703 {
705 }
706
708 {
710 }
711
713 {
715 }
716
718 {
720 }
721
723 {
725 }
726
728 {
730 }
731
733 {
735 }
736
738 {
740 }
741
742 public unsafe static Vector128<int> GatherVector128(int* baseAddress, Vector128<int> index, byte scale)
743 {
744 return scale switch
745 {
746 1 => GatherVector128(baseAddress, index, 1),
747 2 => GatherVector128(baseAddress, index, 2),
748 4 => GatherVector128(baseAddress, index, 4),
749 8 => GatherVector128(baseAddress, index, 8),
750 _ => throw new ArgumentOutOfRangeException("scale"),
751 };
752 }
753
754 public unsafe static Vector128<uint> GatherVector128(uint* baseAddress, Vector128<int> index, byte scale)
755 {
756 return scale switch
757 {
758 1 => GatherVector128(baseAddress, index, 1),
759 2 => GatherVector128(baseAddress, index, 2),
760 4 => GatherVector128(baseAddress, index, 4),
761 8 => GatherVector128(baseAddress, index, 8),
762 _ => throw new ArgumentOutOfRangeException("scale"),
763 };
764 }
765
766 public unsafe static Vector128<long> GatherVector128(long* baseAddress, Vector128<int> index, byte scale)
767 {
768 return scale switch
769 {
770 1 => GatherVector128(baseAddress, index, 1),
771 2 => GatherVector128(baseAddress, index, 2),
772 4 => GatherVector128(baseAddress, index, 4),
773 8 => GatherVector128(baseAddress, index, 8),
774 _ => throw new ArgumentOutOfRangeException("scale"),
775 };
776 }
777
778 public unsafe static Vector128<ulong> GatherVector128(ulong* baseAddress, Vector128<int> index, byte scale)
779 {
780 return scale switch
781 {
782 1 => GatherVector128(baseAddress, index, 1),
783 2 => GatherVector128(baseAddress, index, 2),
784 4 => GatherVector128(baseAddress, index, 4),
785 8 => GatherVector128(baseAddress, index, 8),
786 _ => throw new ArgumentOutOfRangeException("scale"),
787 };
788 }
789
790 public unsafe static Vector128<float> GatherVector128(float* baseAddress, Vector128<int> index, byte scale)
791 {
792 return scale switch
793 {
794 1 => GatherVector128(baseAddress, index, 1),
795 2 => GatherVector128(baseAddress, index, 2),
796 4 => GatherVector128(baseAddress, index, 4),
797 8 => GatherVector128(baseAddress, index, 8),
798 _ => throw new ArgumentOutOfRangeException("scale"),
799 };
800 }
801
802 public unsafe static Vector128<double> GatherVector128(double* baseAddress, Vector128<int> index, byte scale)
803 {
804 return scale switch
805 {
806 1 => GatherVector128(baseAddress, index, 1),
807 2 => GatherVector128(baseAddress, index, 2),
808 4 => GatherVector128(baseAddress, index, 4),
809 8 => GatherVector128(baseAddress, index, 8),
810 _ => throw new ArgumentOutOfRangeException("scale"),
811 };
812 }
813
814 public unsafe static Vector128<int> GatherVector128(int* baseAddress, Vector128<long> index, byte scale)
815 {
816 return scale switch
817 {
818 1 => GatherVector128(baseAddress, index, 1),
819 2 => GatherVector128(baseAddress, index, 2),
820 4 => GatherVector128(baseAddress, index, 4),
821 8 => GatherVector128(baseAddress, index, 8),
822 _ => throw new ArgumentOutOfRangeException("scale"),
823 };
824 }
825
826 public unsafe static Vector128<uint> GatherVector128(uint* baseAddress, Vector128<long> index, byte scale)
827 {
828 return scale switch
829 {
830 1 => GatherVector128(baseAddress, index, 1),
831 2 => GatherVector128(baseAddress, index, 2),
832 4 => GatherVector128(baseAddress, index, 4),
833 8 => GatherVector128(baseAddress, index, 8),
834 _ => throw new ArgumentOutOfRangeException("scale"),
835 };
836 }
837
838 public unsafe static Vector128<long> GatherVector128(long* baseAddress, Vector128<long> index, byte scale)
839 {
840 return scale switch
841 {
842 1 => GatherVector128(baseAddress, index, 1),
843 2 => GatherVector128(baseAddress, index, 2),
844 4 => GatherVector128(baseAddress, index, 4),
845 8 => GatherVector128(baseAddress, index, 8),
846 _ => throw new ArgumentOutOfRangeException("scale"),
847 };
848 }
849
850 public unsafe static Vector128<ulong> GatherVector128(ulong* baseAddress, Vector128<long> index, byte scale)
851 {
852 return scale switch
853 {
854 1 => GatherVector128(baseAddress, index, 1),
855 2 => GatherVector128(baseAddress, index, 2),
856 4 => GatherVector128(baseAddress, index, 4),
857 8 => GatherVector128(baseAddress, index, 8),
858 _ => throw new ArgumentOutOfRangeException("scale"),
859 };
860 }
861
862 public unsafe static Vector128<float> GatherVector128(float* baseAddress, Vector128<long> index, byte scale)
863 {
864 return scale switch
865 {
866 1 => GatherVector128(baseAddress, index, 1),
867 2 => GatherVector128(baseAddress, index, 2),
868 4 => GatherVector128(baseAddress, index, 4),
869 8 => GatherVector128(baseAddress, index, 8),
870 _ => throw new ArgumentOutOfRangeException("scale"),
871 };
872 }
873
874 public unsafe static Vector128<double> GatherVector128(double* baseAddress, Vector128<long> index, byte scale)
875 {
876 return scale switch
877 {
878 1 => GatherVector128(baseAddress, index, 1),
879 2 => GatherVector128(baseAddress, index, 2),
880 4 => GatherVector128(baseAddress, index, 4),
881 8 => GatherVector128(baseAddress, index, 8),
882 _ => throw new ArgumentOutOfRangeException("scale"),
883 };
884 }
885
886 public unsafe static Vector256<int> GatherVector256(int* baseAddress, Vector256<int> index, byte scale)
887 {
888 return scale switch
889 {
890 1 => GatherVector256(baseAddress, index, 1),
891 2 => GatherVector256(baseAddress, index, 2),
892 4 => GatherVector256(baseAddress, index, 4),
893 8 => GatherVector256(baseAddress, index, 8),
894 _ => throw new ArgumentOutOfRangeException("scale"),
895 };
896 }
897
898 public unsafe static Vector256<uint> GatherVector256(uint* baseAddress, Vector256<int> index, byte scale)
899 {
900 return scale switch
901 {
902 1 => GatherVector256(baseAddress, index, 1),
903 2 => GatherVector256(baseAddress, index, 2),
904 4 => GatherVector256(baseAddress, index, 4),
905 8 => GatherVector256(baseAddress, index, 8),
906 _ => throw new ArgumentOutOfRangeException("scale"),
907 };
908 }
909
910 public unsafe static Vector256<long> GatherVector256(long* baseAddress, Vector128<int> index, byte scale)
911 {
912 return scale switch
913 {
914 1 => GatherVector256(baseAddress, index, 1),
915 2 => GatherVector256(baseAddress, index, 2),
916 4 => GatherVector256(baseAddress, index, 4),
917 8 => GatherVector256(baseAddress, index, 8),
918 _ => throw new ArgumentOutOfRangeException("scale"),
919 };
920 }
921
922 public unsafe static Vector256<ulong> GatherVector256(ulong* baseAddress, Vector128<int> index, byte scale)
923 {
924 return scale switch
925 {
926 1 => GatherVector256(baseAddress, index, 1),
927 2 => GatherVector256(baseAddress, index, 2),
928 4 => GatherVector256(baseAddress, index, 4),
929 8 => GatherVector256(baseAddress, index, 8),
930 _ => throw new ArgumentOutOfRangeException("scale"),
931 };
932 }
933
934 public unsafe static Vector256<float> GatherVector256(float* baseAddress, Vector256<int> index, byte scale)
935 {
936 return scale switch
937 {
938 1 => GatherVector256(baseAddress, index, 1),
939 2 => GatherVector256(baseAddress, index, 2),
940 4 => GatherVector256(baseAddress, index, 4),
941 8 => GatherVector256(baseAddress, index, 8),
942 _ => throw new ArgumentOutOfRangeException("scale"),
943 };
944 }
945
946 public unsafe static Vector256<double> GatherVector256(double* baseAddress, Vector128<int> index, byte scale)
947 {
948 return scale switch
949 {
950 1 => GatherVector256(baseAddress, index, 1),
951 2 => GatherVector256(baseAddress, index, 2),
952 4 => GatherVector256(baseAddress, index, 4),
953 8 => GatherVector256(baseAddress, index, 8),
954 _ => throw new ArgumentOutOfRangeException("scale"),
955 };
956 }
957
958 public unsafe static Vector128<int> GatherVector128(int* baseAddress, Vector256<long> index, byte scale)
959 {
960 return scale switch
961 {
962 1 => GatherVector128(baseAddress, index, 1),
963 2 => GatherVector128(baseAddress, index, 2),
964 4 => GatherVector128(baseAddress, index, 4),
965 8 => GatherVector128(baseAddress, index, 8),
966 _ => throw new ArgumentOutOfRangeException("scale"),
967 };
968 }
969
970 public unsafe static Vector128<uint> GatherVector128(uint* baseAddress, Vector256<long> index, byte scale)
971 {
972 return scale switch
973 {
974 1 => GatherVector128(baseAddress, index, 1),
975 2 => GatherVector128(baseAddress, index, 2),
976 4 => GatherVector128(baseAddress, index, 4),
977 8 => GatherVector128(baseAddress, index, 8),
978 _ => throw new ArgumentOutOfRangeException("scale"),
979 };
980 }
981
982 public unsafe static Vector256<long> GatherVector256(long* baseAddress, Vector256<long> index, byte scale)
983 {
984 return scale switch
985 {
986 1 => GatherVector256(baseAddress, index, 1),
987 2 => GatherVector256(baseAddress, index, 2),
988 4 => GatherVector256(baseAddress, index, 4),
989 8 => GatherVector256(baseAddress, index, 8),
990 _ => throw new ArgumentOutOfRangeException("scale"),
991 };
992 }
993
994 public unsafe static Vector256<ulong> GatherVector256(ulong* baseAddress, Vector256<long> index, byte scale)
995 {
996 return scale switch
997 {
998 1 => GatherVector256(baseAddress, index, 1),
999 2 => GatherVector256(baseAddress, index, 2),
1000 4 => GatherVector256(baseAddress, index, 4),
1001 8 => GatherVector256(baseAddress, index, 8),
1002 _ => throw new ArgumentOutOfRangeException("scale"),
1003 };
1004 }
1005
1006 public unsafe static Vector128<float> GatherVector128(float* baseAddress, Vector256<long> index, byte scale)
1007 {
1008 return scale switch
1009 {
1010 1 => GatherVector128(baseAddress, index, 1),
1011 2 => GatherVector128(baseAddress, index, 2),
1012 4 => GatherVector128(baseAddress, index, 4),
1013 8 => GatherVector128(baseAddress, index, 8),
1014 _ => throw new ArgumentOutOfRangeException("scale"),
1015 };
1016 }
1017
1018 public unsafe static Vector256<double> GatherVector256(double* baseAddress, Vector256<long> index, byte scale)
1019 {
1020 return scale switch
1021 {
1022 1 => GatherVector256(baseAddress, index, 1),
1023 2 => GatherVector256(baseAddress, index, 2),
1024 4 => GatherVector256(baseAddress, index, 4),
1025 8 => GatherVector256(baseAddress, index, 8),
1026 _ => throw new ArgumentOutOfRangeException("scale"),
1027 };
1028 }
1029
1031 {
1032 return scale switch
1033 {
1034 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1035 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1036 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1037 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1038 _ => throw new ArgumentOutOfRangeException("scale"),
1039 };
1040 }
1041
1043 {
1044 return scale switch
1045 {
1046 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1047 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1048 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1049 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1050 _ => throw new ArgumentOutOfRangeException("scale"),
1051 };
1052 }
1053
1055 {
1056 return scale switch
1057 {
1058 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1059 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1060 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1061 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1062 _ => throw new ArgumentOutOfRangeException("scale"),
1063 };
1064 }
1065
1067 {
1068 return scale switch
1069 {
1070 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1071 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1072 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1073 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1074 _ => throw new ArgumentOutOfRangeException("scale"),
1075 };
1076 }
1077
1079 {
1080 return scale switch
1081 {
1082 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1083 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1084 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1085 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1086 _ => throw new ArgumentOutOfRangeException("scale"),
1087 };
1088 }
1089
1091 {
1092 return scale switch
1093 {
1094 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1095 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1096 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1097 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1098 _ => throw new ArgumentOutOfRangeException("scale"),
1099 };
1100 }
1101
1103 {
1104 return scale switch
1105 {
1106 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1107 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1108 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1109 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1110 _ => throw new ArgumentOutOfRangeException("scale"),
1111 };
1112 }
1113
1115 {
1116 return scale switch
1117 {
1118 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1119 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1120 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1121 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1122 _ => throw new ArgumentOutOfRangeException("scale"),
1123 };
1124 }
1125
1127 {
1128 return scale switch
1129 {
1130 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1131 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1132 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1133 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1134 _ => throw new ArgumentOutOfRangeException("scale"),
1135 };
1136 }
1137
1139 {
1140 return scale switch
1141 {
1142 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1143 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1144 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1145 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1146 _ => throw new ArgumentOutOfRangeException("scale"),
1147 };
1148 }
1149
1151 {
1152 return scale switch
1153 {
1154 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1155 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1156 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1157 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1158 _ => throw new ArgumentOutOfRangeException("scale"),
1159 };
1160 }
1161
1163 {
1164 return scale switch
1165 {
1166 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1167 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1168 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1169 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1170 _ => throw new ArgumentOutOfRangeException("scale"),
1171 };
1172 }
1173
1175 {
1176 return scale switch
1177 {
1178 1 => GatherMaskVector256(source, baseAddress, index, mask, 1),
1179 2 => GatherMaskVector256(source, baseAddress, index, mask, 2),
1180 4 => GatherMaskVector256(source, baseAddress, index, mask, 4),
1181 8 => GatherMaskVector256(source, baseAddress, index, mask, 8),
1182 _ => throw new ArgumentOutOfRangeException("scale"),
1183 };
1184 }
1185
1187 {
1188 return scale switch
1189 {
1190 1 => GatherMaskVector256(source, baseAddress, index, mask, 1),
1191 2 => GatherMaskVector256(source, baseAddress, index, mask, 2),
1192 4 => GatherMaskVector256(source, baseAddress, index, mask, 4),
1193 8 => GatherMaskVector256(source, baseAddress, index, mask, 8),
1194 _ => throw new ArgumentOutOfRangeException("scale"),
1195 };
1196 }
1197
1199 {
1200 return scale switch
1201 {
1202 1 => GatherMaskVector256(source, baseAddress, index, mask, 1),
1203 2 => GatherMaskVector256(source, baseAddress, index, mask, 2),
1204 4 => GatherMaskVector256(source, baseAddress, index, mask, 4),
1205 8 => GatherMaskVector256(source, baseAddress, index, mask, 8),
1206 _ => throw new ArgumentOutOfRangeException("scale"),
1207 };
1208 }
1209
1211 {
1212 return scale switch
1213 {
1214 1 => GatherMaskVector256(source, baseAddress, index, mask, 1),
1215 2 => GatherMaskVector256(source, baseAddress, index, mask, 2),
1216 4 => GatherMaskVector256(source, baseAddress, index, mask, 4),
1217 8 => GatherMaskVector256(source, baseAddress, index, mask, 8),
1218 _ => throw new ArgumentOutOfRangeException("scale"),
1219 };
1220 }
1221
1223 {
1224 return scale switch
1225 {
1226 1 => GatherMaskVector256(source, baseAddress, index, mask, 1),
1227 2 => GatherMaskVector256(source, baseAddress, index, mask, 2),
1228 4 => GatherMaskVector256(source, baseAddress, index, mask, 4),
1229 8 => GatherMaskVector256(source, baseAddress, index, mask, 8),
1230 _ => throw new ArgumentOutOfRangeException("scale"),
1231 };
1232 }
1233
1235 {
1236 return scale switch
1237 {
1238 1 => GatherMaskVector256(source, baseAddress, index, mask, 1),
1239 2 => GatherMaskVector256(source, baseAddress, index, mask, 2),
1240 4 => GatherMaskVector256(source, baseAddress, index, mask, 4),
1241 8 => GatherMaskVector256(source, baseAddress, index, mask, 8),
1242 _ => throw new ArgumentOutOfRangeException("scale"),
1243 };
1244 }
1245
1247 {
1248 return scale switch
1249 {
1250 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1251 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1252 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1253 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1254 _ => throw new ArgumentOutOfRangeException("scale"),
1255 };
1256 }
1257
1259 {
1260 return scale switch
1261 {
1262 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1263 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1264 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1265 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1266 _ => throw new ArgumentOutOfRangeException("scale"),
1267 };
1268 }
1269
1271 {
1272 return scale switch
1273 {
1274 1 => GatherMaskVector256(source, baseAddress, index, mask, 1),
1275 2 => GatherMaskVector256(source, baseAddress, index, mask, 2),
1276 4 => GatherMaskVector256(source, baseAddress, index, mask, 4),
1277 8 => GatherMaskVector256(source, baseAddress, index, mask, 8),
1278 _ => throw new ArgumentOutOfRangeException("scale"),
1279 };
1280 }
1281
1283 {
1284 return scale switch
1285 {
1286 1 => GatherMaskVector256(source, baseAddress, index, mask, 1),
1287 2 => GatherMaskVector256(source, baseAddress, index, mask, 2),
1288 4 => GatherMaskVector256(source, baseAddress, index, mask, 4),
1289 8 => GatherMaskVector256(source, baseAddress, index, mask, 8),
1290 _ => throw new ArgumentOutOfRangeException("scale"),
1291 };
1292 }
1293
1295 {
1296 return scale switch
1297 {
1298 1 => GatherMaskVector128(source, baseAddress, index, mask, 1),
1299 2 => GatherMaskVector128(source, baseAddress, index, mask, 2),
1300 4 => GatherMaskVector128(source, baseAddress, index, mask, 4),
1301 8 => GatherMaskVector128(source, baseAddress, index, mask, 8),
1302 _ => throw new ArgumentOutOfRangeException("scale"),
1303 };
1304 }
1305
1307 {
1308 return scale switch
1309 {
1310 1 => GatherMaskVector256(source, baseAddress, index, mask, 1),
1311 2 => GatherMaskVector256(source, baseAddress, index, mask, 2),
1312 4 => GatherMaskVector256(source, baseAddress, index, mask, 4),
1313 8 => GatherMaskVector256(source, baseAddress, index, mask, 8),
1314 _ => throw new ArgumentOutOfRangeException("scale"),
1315 };
1316 }
1317
1319 {
1320 return HorizontalAdd(left, right);
1321 }
1322
1324 {
1325 return HorizontalAdd(left, right);
1326 }
1327
1329 {
1330 return HorizontalAddSaturate(left, right);
1331 }
1332
1334 {
1335 return HorizontalSubtract(left, right);
1336 }
1337
1339 {
1340 return HorizontalSubtract(left, right);
1341 }
1342
1344 {
1345 return HorizontalSubtractSaturate(left, right);
1346 }
1347
1349 {
1350 return InsertVector128(value, data, index);
1351 }
1352
1354 {
1355 return InsertVector128(value, data, index);
1356 }
1357
1359 {
1360 return InsertVector128(value, data, index);
1361 }
1362
1364 {
1365 return InsertVector128(value, data, index);
1366 }
1367
1369 {
1370 return InsertVector128(value, data, index);
1371 }
1372
1374 {
1375 return InsertVector128(value, data, index);
1376 }
1377
1379 {
1380 return InsertVector128(value, data, index);
1381 }
1382
1384 {
1385 return InsertVector128(value, data, index);
1386 }
1387
1389 {
1390 return LoadAlignedVector256NonTemporal(address);
1391 }
1392
1394 {
1395 return LoadAlignedVector256NonTemporal(address);
1396 }
1397
1399 {
1400 return LoadAlignedVector256NonTemporal(address);
1401 }
1402
1404 {
1405 return LoadAlignedVector256NonTemporal(address);
1406 }
1407
1409 {
1410 return LoadAlignedVector256NonTemporal(address);
1411 }
1412
1414 {
1415 return LoadAlignedVector256NonTemporal(address);
1416 }
1417
1419 {
1420 return LoadAlignedVector256NonTemporal(address);
1421 }
1422
1424 {
1425 return LoadAlignedVector256NonTemporal(address);
1426 }
1427
1428 public unsafe static Vector128<int> MaskLoad(int* address, Vector128<int> mask)
1429 {
1430 return MaskLoad(address, mask);
1431 }
1432
1433 public unsafe static Vector128<uint> MaskLoad(uint* address, Vector128<uint> mask)
1434 {
1435 return MaskLoad(address, mask);
1436 }
1437
1438 public unsafe static Vector128<long> MaskLoad(long* address, Vector128<long> mask)
1439 {
1440 return MaskLoad(address, mask);
1441 }
1442
1443 public unsafe static Vector128<ulong> MaskLoad(ulong* address, Vector128<ulong> mask)
1444 {
1445 return MaskLoad(address, mask);
1446 }
1447
1448 public unsafe static Vector256<int> MaskLoad(int* address, Vector256<int> mask)
1449 {
1450 return MaskLoad(address, mask);
1451 }
1452
1453 public unsafe static Vector256<uint> MaskLoad(uint* address, Vector256<uint> mask)
1454 {
1455 return MaskLoad(address, mask);
1456 }
1457
1458 public unsafe static Vector256<long> MaskLoad(long* address, Vector256<long> mask)
1459 {
1460 return MaskLoad(address, mask);
1461 }
1462
1463 public unsafe static Vector256<ulong> MaskLoad(ulong* address, Vector256<ulong> mask)
1464 {
1465 return MaskLoad(address, mask);
1466 }
1467
1468 public unsafe static void MaskStore(int* address, Vector128<int> mask, Vector128<int> source)
1469 {
1470 MaskStore(address, mask, source);
1471 }
1472
1473 public unsafe static void MaskStore(uint* address, Vector128<uint> mask, Vector128<uint> source)
1474 {
1475 MaskStore(address, mask, source);
1476 }
1477
1478 public unsafe static void MaskStore(long* address, Vector128<long> mask, Vector128<long> source)
1479 {
1480 MaskStore(address, mask, source);
1481 }
1482
1483 public unsafe static void MaskStore(ulong* address, Vector128<ulong> mask, Vector128<ulong> source)
1484 {
1485 MaskStore(address, mask, source);
1486 }
1487
1488 public unsafe static void MaskStore(int* address, Vector256<int> mask, Vector256<int> source)
1489 {
1490 MaskStore(address, mask, source);
1491 }
1492
1493 public unsafe static void MaskStore(uint* address, Vector256<uint> mask, Vector256<uint> source)
1494 {
1495 MaskStore(address, mask, source);
1496 }
1497
1498 public unsafe static void MaskStore(long* address, Vector256<long> mask, Vector256<long> source)
1499 {
1500 MaskStore(address, mask, source);
1501 }
1502
1503 public unsafe static void MaskStore(ulong* address, Vector256<ulong> mask, Vector256<ulong> source)
1504 {
1505 MaskStore(address, mask, source);
1506 }
1507
1509 {
1510 return MultiplyAddAdjacent(left, right);
1511 }
1512
1514 {
1515 return MultiplyAddAdjacent(left, right);
1516 }
1517
1519 {
1520 return Max(left, right);
1521 }
1522
1524 {
1525 return Max(left, right);
1526 }
1527
1529 {
1530 return Max(left, right);
1531 }
1532
1534 {
1535 return Max(left, right);
1536 }
1537
1539 {
1540 return Max(left, right);
1541 }
1542
1544 {
1545 return Max(left, right);
1546 }
1547
1549 {
1550 return Min(left, right);
1551 }
1552
1554 {
1555 return Min(left, right);
1556 }
1557
1559 {
1560 return Min(left, right);
1561 }
1562
1564 {
1565 return Min(left, right);
1566 }
1567
1569 {
1570 return Min(left, right);
1571 }
1572
1574 {
1575 return Min(left, right);
1576 }
1577
1579 {
1580 return MoveMask(value);
1581 }
1582
1583 public static int MoveMask(Vector256<byte> value)
1584 {
1585 return MoveMask(value);
1586 }
1587
1589 {
1590 return MultipleSumAbsoluteDifferences(left, right, mask);
1591 }
1592
1594 {
1595 return Multiply(left, right);
1596 }
1597
1599 {
1600 return Multiply(left, right);
1601 }
1602
1604 {
1605 return MultiplyHigh(left, right);
1606 }
1607
1609 {
1610 return MultiplyHigh(left, right);
1611 }
1612
1614 {
1615 return MultiplyHighRoundScale(left, right);
1616 }
1617
1619 {
1620 return MultiplyLow(left, right);
1621 }
1622
1624 {
1625 return MultiplyLow(left, right);
1626 }
1627
1629 {
1630 return MultiplyLow(left, right);
1631 }
1632
1634 {
1635 return MultiplyLow(left, right);
1636 }
1637
1639 {
1640 return Or(left, right);
1641 }
1642
1644 {
1645 return Or(left, right);
1646 }
1647
1649 {
1650 return Or(left, right);
1651 }
1652
1654 {
1655 return Or(left, right);
1656 }
1657
1659 {
1660 return Or(left, right);
1661 }
1662
1664 {
1665 return Or(left, right);
1666 }
1667
1669 {
1670 return Or(left, right);
1671 }
1672
1674 {
1675 return Or(left, right);
1676 }
1677
1679 {
1680 return PackSignedSaturate(left, right);
1681 }
1682
1684 {
1685 return PackSignedSaturate(left, right);
1686 }
1687
1689 {
1690 return PackUnsignedSaturate(left, right);
1691 }
1692
1694 {
1695 return PackUnsignedSaturate(left, right);
1696 }
1697
1698 public new static Vector256<sbyte> Permute2x128(Vector256<sbyte> left, Vector256<sbyte> right, byte control)
1699 {
1700 return Permute2x128(left, right, control);
1701 }
1702
1703 public new static Vector256<byte> Permute2x128(Vector256<byte> left, Vector256<byte> right, byte control)
1704 {
1705 return Permute2x128(left, right, control);
1706 }
1707
1708 public new static Vector256<short> Permute2x128(Vector256<short> left, Vector256<short> right, byte control)
1709 {
1710 return Permute2x128(left, right, control);
1711 }
1712
1713 public new static Vector256<ushort> Permute2x128(Vector256<ushort> left, Vector256<ushort> right, byte control)
1714 {
1715 return Permute2x128(left, right, control);
1716 }
1717
1718 public new static Vector256<int> Permute2x128(Vector256<int> left, Vector256<int> right, byte control)
1719 {
1720 return Permute2x128(left, right, control);
1721 }
1722
1723 public new static Vector256<uint> Permute2x128(Vector256<uint> left, Vector256<uint> right, byte control)
1724 {
1725 return Permute2x128(left, right, control);
1726 }
1727
1728 public new static Vector256<long> Permute2x128(Vector256<long> left, Vector256<long> right, byte control)
1729 {
1730 return Permute2x128(left, right, control);
1731 }
1732
1733 public new static Vector256<ulong> Permute2x128(Vector256<ulong> left, Vector256<ulong> right, byte control)
1734 {
1735 return Permute2x128(left, right, control);
1736 }
1737
1739 {
1740 return Permute4x64(value, control);
1741 }
1742
1744 {
1745 return Permute4x64(value, control);
1746 }
1747
1749 {
1750 return Permute4x64(value, control);
1751 }
1752
1754 {
1755 return PermuteVar8x32(left, control);
1756 }
1757
1759 {
1760 return PermuteVar8x32(left, control);
1761 }
1762
1764 {
1765 return PermuteVar8x32(left, control);
1766 }
1767
1772
1777
1782
1787
1792
1797
1802
1807
1809 {
1810 return ShiftLeftLogical(value, count);
1811 }
1812
1814 {
1815 return ShiftLeftLogical(value, count);
1816 }
1817
1819 {
1820 return ShiftLeftLogical(value, count);
1821 }
1822
1827
1829 {
1830 return ShiftLeftLogical128BitLane(value, numBytes);
1831 }
1832
1834 {
1835 return ShiftLeftLogical128BitLane(value, numBytes);
1836 }
1837
1839 {
1840 return ShiftLeftLogical128BitLane(value, numBytes);
1841 }
1842
1844 {
1845 return ShiftLeftLogical128BitLane(value, numBytes);
1846 }
1847
1849 {
1850 return ShiftLeftLogical128BitLane(value, numBytes);
1851 }
1852
1854 {
1855 return ShiftLeftLogical128BitLane(value, numBytes);
1856 }
1857
1859 {
1860 return ShiftLeftLogical128BitLane(value, numBytes);
1861 }
1862
1864 {
1865 return ShiftLeftLogical128BitLane(value, numBytes);
1866 }
1867
1872
1877
1882
1887
1892
1897
1902
1907
1912
1917
1922
1927
1932
1937
1942
1947
1952
1957
1962
1967
1972
1977
1979 {
1980 return ShiftRightLogical(value, count);
1981 }
1982
1987
1992
1997
1999 {
2000 return ShiftRightLogical128BitLane(value, numBytes);
2001 }
2002
2004 {
2005 return ShiftRightLogical128BitLane(value, numBytes);
2006 }
2007
2009 {
2010 return ShiftRightLogical128BitLane(value, numBytes);
2011 }
2012
2014 {
2015 return ShiftRightLogical128BitLane(value, numBytes);
2016 }
2017
2019 {
2020 return ShiftRightLogical128BitLane(value, numBytes);
2021 }
2022
2024 {
2025 return ShiftRightLogical128BitLane(value, numBytes);
2026 }
2027
2029 {
2030 return ShiftRightLogical128BitLane(value, numBytes);
2031 }
2032
2034 {
2035 return ShiftRightLogical128BitLane(value, numBytes);
2036 }
2037
2042
2047
2052
2057
2062
2067
2072
2077
2079 {
2080 return Shuffle(value, mask);
2081 }
2082
2084 {
2085 return Shuffle(value, mask);
2086 }
2087
2088 public static Vector256<int> Shuffle(Vector256<int> value, byte control)
2089 {
2090 return Shuffle(value, control);
2091 }
2092
2093 public static Vector256<uint> Shuffle(Vector256<uint> value, byte control)
2094 {
2095 return Shuffle(value, control);
2096 }
2097
2099 {
2100 return ShuffleHigh(value, control);
2101 }
2102
2104 {
2105 return ShuffleHigh(value, control);
2106 }
2107
2109 {
2110 return ShuffleLow(value, control);
2111 }
2112
2114 {
2115 return ShuffleLow(value, control);
2116 }
2117
2119 {
2120 return Sign(left, right);
2121 }
2122
2124 {
2125 return Sign(left, right);
2126 }
2127
2129 {
2130 return Sign(left, right);
2131 }
2132
2134 {
2135 return Subtract(left, right);
2136 }
2137
2139 {
2140 return Subtract(left, right);
2141 }
2142
2144 {
2145 return Subtract(left, right);
2146 }
2147
2149 {
2150 return Subtract(left, right);
2151 }
2152
2154 {
2155 return Subtract(left, right);
2156 }
2157
2159 {
2160 return Subtract(left, right);
2161 }
2162
2164 {
2165 return Subtract(left, right);
2166 }
2167
2169 {
2170 return Subtract(left, right);
2171 }
2172
2174 {
2175 return SubtractSaturate(left, right);
2176 }
2177
2179 {
2180 return SubtractSaturate(left, right);
2181 }
2182
2184 {
2185 return SubtractSaturate(left, right);
2186 }
2187
2189 {
2190 return SubtractSaturate(left, right);
2191 }
2192
2194 {
2195 return SumAbsoluteDifferences(left, right);
2196 }
2197
2199 {
2200 return UnpackHigh(left, right);
2201 }
2202
2204 {
2205 return UnpackHigh(left, right);
2206 }
2207
2209 {
2210 return UnpackHigh(left, right);
2211 }
2212
2214 {
2215 return UnpackHigh(left, right);
2216 }
2217
2219 {
2220 return UnpackHigh(left, right);
2221 }
2222
2224 {
2225 return UnpackHigh(left, right);
2226 }
2227
2229 {
2230 return UnpackHigh(left, right);
2231 }
2232
2234 {
2235 return UnpackHigh(left, right);
2236 }
2237
2239 {
2240 return UnpackLow(left, right);
2241 }
2242
2244 {
2245 return UnpackLow(left, right);
2246 }
2247
2249 {
2250 return UnpackLow(left, right);
2251 }
2252
2254 {
2255 return UnpackLow(left, right);
2256 }
2257
2259 {
2260 return UnpackLow(left, right);
2261 }
2262
2264 {
2265 return UnpackLow(left, right);
2266 }
2267
2269 {
2270 return UnpackLow(left, right);
2271 }
2272
2274 {
2275 return UnpackLow(left, right);
2276 }
2277
2279 {
2280 return Xor(left, right);
2281 }
2282
2284 {
2285 return Xor(left, right);
2286 }
2287
2289 {
2290 return Xor(left, right);
2291 }
2292
2294 {
2295 return Xor(left, right);
2296 }
2297
2299 {
2300 return Xor(left, right);
2301 }
2302
2304 {
2305 return Xor(left, right);
2306 }
2307
2309 {
2310 return Xor(left, right);
2311 }
2312
2314 {
2315 return Xor(left, right);
2316 }
2317}
static Vector256< sbyte > CompareGreaterThan(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:552
static Vector256< ulong > Or(Vector256< ulong > left, Vector256< ulong > right)
Definition Avx2.cs:1673
static unsafe Vector256< long > ConvertToVector256Int64(sbyte *address)
Definition Avx2.cs:672
static Vector128< double > BroadcastScalarToVector128(Vector128< double > value)
Definition Avx2.cs:337
static unsafe Vector256< long > BroadcastScalarToVector256(long *source)
Definition Avx2.cs:462
static Vector256< long > Permute4x64(Vector256< long > value, byte control)
Definition Avx2.cs:1738
static unsafe void MaskStore(int *address, Vector128< int > mask, Vector128< int > source)
Definition Avx2.cs:1468
static unsafe Vector256< sbyte > BroadcastVector128ToVector256(sbyte *address)
Definition Avx2.cs:472
static Vector256< long > ConvertToVector256Int64(Vector128< ushort > value)
Definition Avx2.cs:627
static unsafe Vector256< double > GatherVector256(double *baseAddress, Vector128< int > index, byte scale)
Definition Avx2.cs:946
static unsafe Vector256< long > ConvertToVector256Int64(uint *address)
Definition Avx2.cs:697
static unsafe Vector128< long > GatherMaskVector128(Vector128< long > source, long *baseAddress, Vector128< int > index, Vector128< long > mask, byte scale)
Definition Avx2.cs:1054
static Vector256< uint > MultiplyLow(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:1633
static Vector256< float > BroadcastScalarToVector256(Vector128< float > value)
Definition Avx2.cs:422
static Vector256< short > ShiftRightArithmetic(Vector256< short > value, byte count)
Definition Avx2.cs:1918
static unsafe Vector128< int > BroadcastScalarToVector128(int *source)
Definition Avx2.cs:362
static Vector256< sbyte > SubtractSaturate(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:2173
static Vector256< short > AddSaturate(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:82
static Vector256< ushort > AndNot(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:187
static Vector256< ulong > BlendVariable(Vector256< ulong > left, Vector256< ulong > right, Vector256< ulong > mask)
Definition Avx2.cs:287
static Vector256< byte > AddSaturate(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:77
static Vector256< byte > UnpackLow(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:2243
static unsafe Vector128< byte > BroadcastScalarToVector128(byte *source)
Definition Avx2.cs:342
static Vector256< ushort > Xor(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:2293
static Vector256< sbyte > Add(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:32
static Vector256< uint > AlignRight(Vector256< uint > left, Vector256< uint > right, byte mask)
Definition Avx2.cs:117
static Vector256< short > AndNot(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:182
static int MoveMask(Vector256< sbyte > value)
Definition Avx2.cs:1578
static unsafe Vector256< int > ConvertToVector256Int32(ushort *address)
Definition Avx2.cs:667
static Vector256< short > MultiplyHighRoundScale(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1613
static unsafe Vector256< ulong > GatherVector256(ulong *baseAddress, Vector128< int > index, byte scale)
Definition Avx2.cs:922
static Vector256< ushort > AlignRight(Vector256< ushort > left, Vector256< ushort > right, byte mask)
Definition Avx2.cs:107
static unsafe Vector128< ulong > GatherMaskVector128(Vector128< ulong > source, ulong *baseAddress, Vector128< long > index, Vector128< ulong > mask, byte scale)
Definition Avx2.cs:1138
static Vector256< ushort > MultiplyHigh(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:1608
static Vector256< uint > AndNot(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:197
static Vector256< short > CompareGreaterThan(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:557
static Vector256< short > HorizontalAddSaturate(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1328
static Vector256< uint > UnpackLow(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:2263
static unsafe void MaskStore(ulong *address, Vector256< ulong > mask, Vector256< ulong > source)
Definition Avx2.cs:1503
static Vector256< byte > AlignRight(Vector256< byte > left, Vector256< byte > right, byte mask)
Definition Avx2.cs:97
static Vector256< sbyte > AlignRight(Vector256< sbyte > left, Vector256< sbyte > right, byte mask)
Definition Avx2.cs:92
static unsafe Vector256< ulong > LoadAlignedVector256NonTemporal(ulong *address)
Definition Avx2.cs:1423
static int ConvertToInt32(Vector256< int > value)
Definition Avx2.cs:572
static unsafe Vector256< long > ConvertToVector256Int64(ushort *address)
Definition Avx2.cs:687
static Vector256< short > HorizontalSubtract(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1333
static Vector256< long > And(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:162
static Vector256< sbyte > And(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:132
static Vector256< short > ShiftRightLogical128BitLane(Vector256< short > value, byte numBytes)
Definition Avx2.cs:2008
static Vector256< double > BroadcastScalarToVector256(Vector128< double > value)
Definition Avx2.cs:427
static Vector256< int > ConvertToVector256Int32(Vector128< byte > value)
Definition Avx2.cs:597
static unsafe Vector128< long > GatherVector128(long *baseAddress, Vector128< int > index, byte scale)
Definition Avx2.cs:766
static Vector256< int > HorizontalSubtract(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:1338
static unsafe Vector128< uint > GatherVector128(uint *baseAddress, Vector256< long > index, byte scale)
Definition Avx2.cs:970
static Vector256< sbyte > CompareEqual(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:512
static Vector128< uint > ShiftRightLogicalVariable(Vector128< uint > value, Vector128< uint > count)
Definition Avx2.cs:2063
static new bool IsSupported
Definition Avx2.cs:15
static Vector256< long > AlignRight(Vector256< long > left, Vector256< long > right, byte mask)
Definition Avx2.cs:122
static Vector256< ushort > ShiftLeftLogical(Vector256< ushort > value, Vector128< ushort > count)
Definition Avx2.cs:1773
static Vector256< ushort > ShiftRightLogical(Vector256< ushort > value, byte count)
Definition Avx2.cs:1973
static Vector256< long > Add(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:62
static Vector256< long > Subtract(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:2163
static Vector128< uint > Blend(Vector128< uint > left, Vector128< uint > right, byte control)
Definition Avx2.cs:227
static Vector256< sbyte > Subtract(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:2133
static Vector256< short > Max(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1528
static unsafe Vector256< byte > BroadcastScalarToVector256(byte *source)
Definition Avx2.cs:432
static Vector256< ulong > ShiftRightLogical128BitLane(Vector256< ulong > value, byte numBytes)
Definition Avx2.cs:2033
static Vector256< int > MultiplyAddAdjacent(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1508
static Vector256< uint > PermuteVar8x32(Vector256< uint > left, Vector256< uint > control)
Definition Avx2.cs:1758
static unsafe Vector128< float > GatherVector128(float *baseAddress, Vector256< long > index, byte scale)
Definition Avx2.cs:1006
static unsafe Vector256< int > LoadAlignedVector256NonTemporal(int *address)
Definition Avx2.cs:1408
static unsafe Vector256< long > MaskLoad(long *address, Vector256< long > mask)
Definition Avx2.cs:1458
static Vector256< int > UnpackHigh(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:2218
static unsafe Vector256< long > GatherVector256(long *baseAddress, Vector256< long > index, byte scale)
Definition Avx2.cs:982
static Vector256< short > BroadcastScalarToVector256(Vector128< short > value)
Definition Avx2.cs:392
static Vector256< short > HorizontalSubtractSaturate(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1343
static Vector256< byte > Subtract(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:2138
static Vector256< short > Or(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1648
static Vector256< short > ConvertToVector256Int16(Vector128< sbyte > value)
Definition Avx2.cs:582
static Vector256< byte > Min(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:1553
static unsafe Vector128< int > GatherMaskVector128(Vector128< int > source, int *baseAddress, Vector128< int > index, Vector128< int > mask, byte scale)
Definition Avx2.cs:1030
static unsafe Vector256< long > BroadcastVector128ToVector256(long *address)
Definition Avx2.cs:502
static Vector256< long > ConvertToVector256Int64(Vector128< short > value)
Definition Avx2.cs:622
static Vector256< long > Xor(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:2308
static Vector256< sbyte > Min(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:1548
static Vector256< ushort > Blend(Vector256< ushort > left, Vector256< ushort > right, byte control)
Definition Avx2.cs:237
static Vector256< ushort > ShiftLeftLogical(Vector256< ushort > value, byte count)
Definition Avx2.cs:1803
static Vector256< int > BroadcastScalarToVector256(Vector128< int > value)
Definition Avx2.cs:402
static Vector256< byte > Max(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:1523
static Vector256< int > ShiftRightLogicalVariable(Vector256< int > value, Vector256< uint > count)
Definition Avx2.cs:2038
static Vector256< ushort > MultipleSumAbsoluteDifferences(Vector256< byte > left, Vector256< byte > right, byte mask)
Definition Avx2.cs:1588
static Vector256< ushort > MultiplyLow(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:1623
static Vector256< short > MultiplyLow(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1618
static unsafe Vector256< long > GatherVector256(long *baseAddress, Vector128< int > index, byte scale)
Definition Avx2.cs:910
static Vector256< int > BlendVariable(Vector256< int > left, Vector256< int > right, Vector256< int > mask)
Definition Avx2.cs:272
static Vector256< uint > ShiftLeftLogical(Vector256< uint > value, byte count)
Definition Avx2.cs:1813
static Vector256< sbyte > Sign(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:2118
static Vector256< ushort > AddSaturate(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:87
static Vector256< int > Subtract(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:2153
static new Vector256< byte > InsertVector128(Vector256< byte > value, Vector128< byte > data, byte index)
Definition Avx2.cs:1353
static Vector128< int > Blend(Vector128< int > left, Vector128< int > right, byte control)
Definition Avx2.cs:222
static Vector256< ushort > BlendVariable(Vector256< ushort > left, Vector256< ushort > right, Vector256< ushort > mask)
Definition Avx2.cs:267
static Vector256< ushort > ShiftLeftLogical128BitLane(Vector256< ushort > value, byte numBytes)
Definition Avx2.cs:1843
static Vector256< uint > BroadcastScalarToVector256(Vector128< uint > value)
Definition Avx2.cs:407
static Vector256< uint > Xor(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:2303
static Vector256< short > HorizontalAdd(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1318
static Vector256< long > Multiply(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:1593
static Vector256< sbyte > AddSaturate(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:72
static Vector256< byte > BroadcastScalarToVector256(Vector128< byte > value)
Definition Avx2.cs:382
static Vector256< long > ConvertToVector256Int64(Vector128< int > value)
Definition Avx2.cs:632
static Vector256< short > UnpackHigh(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:2208
static unsafe Vector256< ulong > MaskLoad(ulong *address, Vector256< ulong > mask)
Definition Avx2.cs:1463
static unsafe Vector256< ulong > GatherMaskVector256(Vector256< ulong > source, ulong *baseAddress, Vector128< int > index, Vector256< ulong > mask, byte scale)
Definition Avx2.cs:1210
static unsafe Vector128< uint > GatherVector128(uint *baseAddress, Vector128< long > index, byte scale)
Definition Avx2.cs:826
static Vector256< sbyte > ShiftLeftLogical128BitLane(Vector256< sbyte > value, byte numBytes)
Definition Avx2.cs:1828
static Vector256< short > Add(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:42
static unsafe Vector256< byte > BroadcastVector128ToVector256(byte *address)
Definition Avx2.cs:477
static unsafe Vector256< int > MaskLoad(int *address, Vector256< int > mask)
Definition Avx2.cs:1448
static Vector256< uint > ShiftRightLogical(Vector256< uint > value, Vector128< uint > count)
Definition Avx2.cs:1953
static Vector128< short > BroadcastScalarToVector128(Vector128< short > value)
Definition Avx2.cs:302
static Vector256< short > AlignRight(Vector256< short > left, Vector256< short > right, byte mask)
Definition Avx2.cs:102
static Vector256< byte > ShiftLeftLogical128BitLane(Vector256< byte > value, byte numBytes)
Definition Avx2.cs:1833
static Vector256< int > ShiftLeftLogical(Vector256< int > value, Vector128< int > count)
Definition Avx2.cs:1778
static Vector256< uint > ShiftRightLogical128BitLane(Vector256< uint > value, byte numBytes)
Definition Avx2.cs:2023
static Vector256< byte > BlendVariable(Vector256< byte > left, Vector256< byte > right, Vector256< byte > mask)
Definition Avx2.cs:257
static new Vector256< uint > InsertVector128(Vector256< uint > value, Vector128< uint > data, byte index)
Definition Avx2.cs:1373
static unsafe Vector128< short > BroadcastScalarToVector128(short *source)
Definition Avx2.cs:352
static unsafe Vector128< float > GatherMaskVector128(Vector128< float > source, float *baseAddress, Vector128< int > index, Vector128< float > mask, byte scale)
Definition Avx2.cs:1078
static unsafe Vector256< long > ConvertToVector256Int64(short *address)
Definition Avx2.cs:682
static Vector256< uint > BlendVariable(Vector256< uint > left, Vector256< uint > right, Vector256< uint > mask)
Definition Avx2.cs:277
static unsafe Vector256< long > ConvertToVector256Int64(byte *address)
Definition Avx2.cs:677
static Vector128< byte > BroadcastScalarToVector128(Vector128< byte > value)
Definition Avx2.cs:292
static Vector256< int > ShiftRightLogical(Vector256< int > value, byte count)
Definition Avx2.cs:1978
static Vector256< byte > CompareEqual(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:517
static Vector256< int > Or(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:1658
static unsafe Vector256< uint > BroadcastVector128ToVector256(uint *address)
Definition Avx2.cs:497
static Vector256< ushort > Or(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:1653
static unsafe Vector128< int > GatherVector128(int *baseAddress, Vector256< long > index, byte scale)
Definition Avx2.cs:958
static Vector256< long > CompareGreaterThan(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:567
static unsafe Vector128< float > GatherMaskVector128(Vector128< float > source, float *baseAddress, Vector128< long > index, Vector128< float > mask, byte scale)
Definition Avx2.cs:1150
static unsafe Vector256< double > GatherVector256(double *baseAddress, Vector256< long > index, byte scale)
Definition Avx2.cs:1018
static unsafe Vector256< ushort > BroadcastVector128ToVector256(ushort *address)
Definition Avx2.cs:487
static Vector256< int > Xor(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:2298
static Vector256< int > ShiftLeftLogical128BitLane(Vector256< int > value, byte numBytes)
Definition Avx2.cs:1848
static unsafe Vector256< long > ConvertToVector256Int64(int *address)
Definition Avx2.cs:692
static unsafe void MaskStore(long *address, Vector128< long > mask, Vector128< long > source)
Definition Avx2.cs:1478
static Vector256< byte > AndNot(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:177
static unsafe Vector256< int > ConvertToVector256Int32(short *address)
Definition Avx2.cs:662
static Vector256< byte > Or(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:1643
static Vector256< ushort > PackUnsignedSaturate(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:1693
static Vector256< int > HorizontalAdd(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:1323
static unsafe Vector256< int > ConvertToVector256Int32(byte *address)
Definition Avx2.cs:657
static Vector256< long > ShiftRightLogical(Vector256< long > value, byte count)
Definition Avx2.cs:1988
static unsafe void MaskStore(long *address, Vector256< long > mask, Vector256< long > source)
Definition Avx2.cs:1498
static new Vector256< byte > Permute2x128(Vector256< byte > left, Vector256< byte > right, byte control)
Definition Avx2.cs:1703
static new Vector256< long > Permute2x128(Vector256< long > left, Vector256< long > right, byte control)
Definition Avx2.cs:1728
static unsafe Vector256< int > BroadcastVector128ToVector256(int *address)
Definition Avx2.cs:492
static Vector256< int > ConvertToVector256Int32(Vector128< ushort > value)
Definition Avx2.cs:607
static new Vector256< int > Permute2x128(Vector256< int > left, Vector256< int > right, byte control)
Definition Avx2.cs:1718
static Vector256< uint > CompareEqual(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:537
static Vector128< long > ShiftLeftLogicalVariable(Vector128< long > value, Vector128< ulong > count)
Definition Avx2.cs:1898
static unsafe Vector256< int > GatherMaskVector256(Vector256< int > source, int *baseAddress, Vector256< int > index, Vector256< int > mask, byte scale)
Definition Avx2.cs:1174
static Vector256< ushort > Min(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:1563
static Vector256< int > Add(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:52
static Vector256< byte > Shuffle(Vector256< byte > value, Vector256< byte > mask)
Definition Avx2.cs:2083
static unsafe Vector128< uint > BroadcastScalarToVector128(uint *source)
Definition Avx2.cs:367
static Vector256< sbyte > Max(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:1518
static Vector256< ushort > And(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:147
static Vector256< short > ShiftRightArithmetic(Vector256< short > value, Vector128< short > count)
Definition Avx2.cs:1908
static Vector256< short > ConvertToVector256Int16(Vector128< byte > value)
Definition Avx2.cs:587
static Vector256< byte > And(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:137
static unsafe Vector128< long > BroadcastScalarToVector128(long *source)
Definition Avx2.cs:372
static Vector256< long > ShiftLeftLogical(Vector256< long > value, byte count)
Definition Avx2.cs:1818
static unsafe Vector128< double > GatherMaskVector128(Vector128< double > source, double *baseAddress, Vector128< long > index, Vector128< double > mask, byte scale)
Definition Avx2.cs:1162
static Vector256< int > ShiftRightArithmeticVariable(Vector256< int > value, Vector256< uint > count)
Definition Avx2.cs:1928
static Vector256< int > Min(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:1568
static unsafe Vector128< ushort > BroadcastScalarToVector128(ushort *source)
Definition Avx2.cs:357
static unsafe Vector256< double > GatherMaskVector256(Vector256< double > source, double *baseAddress, Vector256< long > index, Vector256< double > mask, byte scale)
Definition Avx2.cs:1306
static Vector256< short > SubtractSaturate(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:2178
static unsafe Vector256< ulong > BroadcastVector128ToVector256(ulong *address)
Definition Avx2.cs:507
static Vector128< uint > ShiftLeftLogicalVariable(Vector128< uint > value, Vector128< uint > count)
Definition Avx2.cs:1893
static Vector256< int > AndNot(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:192
static Vector256< ulong > Permute4x64(Vector256< ulong > value, byte control)
Definition Avx2.cs:1743
static Vector256< uint > And(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:157
static Vector256< long > ConvertToVector256Int64(Vector128< uint > value)
Definition Avx2.cs:637
static unsafe Vector256< ulong > GatherVector256(ulong *baseAddress, Vector256< long > index, byte scale)
Definition Avx2.cs:994
static new Vector128< sbyte > ExtractVector128(Vector256< sbyte > value, byte index)
Definition Avx2.cs:702
static unsafe void MaskStore(int *address, Vector256< int > mask, Vector256< int > source)
Definition Avx2.cs:1488
static Vector256< uint > Abs(Vector256< int > value)
Definition Avx2.cs:27
static Vector256< ushort > SumAbsoluteDifferences(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:2193
static Vector256< short > Xor(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:2288
static Vector256< short > ShiftRightLogical(Vector256< short > value, Vector128< short > count)
Definition Avx2.cs:1938
static unsafe Vector128< sbyte > BroadcastScalarToVector128(sbyte *source)
Definition Avx2.cs:347
static Vector256< sbyte > Or(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:1638
static unsafe Vector128< uint > GatherVector128(uint *baseAddress, Vector128< int > index, byte scale)
Definition Avx2.cs:754
static new Vector256< uint > Permute2x128(Vector256< uint > left, Vector256< uint > right, byte control)
Definition Avx2.cs:1723
static Vector256< short > Min(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1558
static new Vector256< ulong > Permute2x128(Vector256< ulong > left, Vector256< ulong > right, byte control)
Definition Avx2.cs:1733
static unsafe void MaskStore(uint *address, Vector256< uint > mask, Vector256< uint > source)
Definition Avx2.cs:1493
static unsafe Vector256< ulong > BroadcastScalarToVector256(ulong *source)
Definition Avx2.cs:467
static Vector256< ulong > BroadcastScalarToVector256(Vector128< ulong > value)
Definition Avx2.cs:417
static Vector256< uint > Min(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:1573
static Vector256< ulong > ShiftRightLogical(Vector256< ulong > value, Vector128< ulong > count)
Definition Avx2.cs:1963
static unsafe Vector128< ulong > MaskLoad(ulong *address, Vector128< ulong > mask)
Definition Avx2.cs:1443
static Vector256< ushort > Abs(Vector256< short > value)
Definition Avx2.cs:22
static Vector256< int > ConvertToVector256Int32(Vector128< short > value)
Definition Avx2.cs:602
static Vector256< ulong > ShiftLeftLogical(Vector256< ulong > value, byte count)
Definition Avx2.cs:1823
static unsafe Vector256< uint > BroadcastScalarToVector256(uint *source)
Definition Avx2.cs:457
static Vector128< ulong > ShiftLeftLogicalVariable(Vector128< ulong > value, Vector128< ulong > count)
Definition Avx2.cs:1903
static Vector256< short > And(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:142
static unsafe Vector128< int > GatherMaskVector128(Vector128< int > source, int *baseAddress, Vector128< long > index, Vector128< int > mask, byte scale)
Definition Avx2.cs:1102
static Vector256< sbyte > PackSignedSaturate(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1678
static Vector256< ushort > SubtractSaturate(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:2188
static Vector256< short > MultiplyHigh(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1603
static Vector256< sbyte > ShiftRightLogical128BitLane(Vector256< sbyte > value, byte numBytes)
Definition Avx2.cs:1998
static Vector256< long > ShiftLeftLogical128BitLane(Vector256< long > value, byte numBytes)
Definition Avx2.cs:1858
static Vector256< int > MultiplyLow(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:1628
static unsafe Vector256< int > ConvertToVector256Int32(sbyte *address)
Definition Avx2.cs:652
static Vector128< ulong > ShiftRightLogicalVariable(Vector128< ulong > value, Vector128< ulong > count)
Definition Avx2.cs:2073
static Vector256< long > Or(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:1668
static unsafe Vector256< uint > LoadAlignedVector256NonTemporal(uint *address)
Definition Avx2.cs:1413
static unsafe Vector128< long > GatherMaskVector128(Vector128< long > source, long *baseAddress, Vector128< long > index, Vector128< long > mask, byte scale)
Definition Avx2.cs:1126
static Vector256< byte > Average(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:212
static uint ConvertToUInt32(Vector256< uint > value)
Definition Avx2.cs:577
static unsafe void MaskStore(ulong *address, Vector128< ulong > mask, Vector128< ulong > source)
Definition Avx2.cs:1483
static Vector256< sbyte > BroadcastScalarToVector256(Vector128< sbyte > value)
Definition Avx2.cs:387
static new Vector128< byte > ExtractVector128(Vector256< byte > value, byte index)
Definition Avx2.cs:707
static Vector256< int > And(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:152
static new Vector256< short > InsertVector128(Vector256< short > value, Vector128< short > data, byte index)
Definition Avx2.cs:1358
static Vector256< ulong > CompareEqual(Vector256< ulong > left, Vector256< ulong > right)
Definition Avx2.cs:547
static Vector256< long > BlendVariable(Vector256< long > left, Vector256< long > right, Vector256< long > mask)
Definition Avx2.cs:282
static Vector256< int > ShiftLeftLogicalVariable(Vector256< int > value, Vector256< uint > count)
Definition Avx2.cs:1868
static Vector256< ulong > ShiftLeftLogicalVariable(Vector256< ulong > value, Vector256< ulong > count)
Definition Avx2.cs:1883
static Vector128< ushort > BroadcastScalarToVector128(Vector128< ushort > value)
Definition Avx2.cs:307
static unsafe Vector256< uint > GatherMaskVector256(Vector256< uint > source, uint *baseAddress, Vector256< int > index, Vector256< uint > mask, byte scale)
Definition Avx2.cs:1186
static new Vector256< ushort > Permute2x128(Vector256< ushort > left, Vector256< ushort > right, byte control)
Definition Avx2.cs:1713
static unsafe Vector128< long > MaskLoad(long *address, Vector128< long > mask)
Definition Avx2.cs:1438
static Vector256< uint > ShiftLeftLogical128BitLane(Vector256< uint > value, byte numBytes)
Definition Avx2.cs:1853
static unsafe Vector256< short > BroadcastScalarToVector256(short *source)
Definition Avx2.cs:442
static Vector256< int > CompareGreaterThan(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:562
static Vector256< uint > Max(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:1543
static Vector256< long > ConvertToVector256Int64(Vector128< byte > value)
Definition Avx2.cs:617
static Vector256< byte > Abs(Vector256< sbyte > value)
Definition Avx2.cs:17
static unsafe Vector256< float > GatherVector256(float *baseAddress, Vector256< int > index, byte scale)
Definition Avx2.cs:934
static Vector256< float > PermuteVar8x32(Vector256< float > left, Vector256< int > control)
Definition Avx2.cs:1763
static unsafe Vector256< byte > LoadAlignedVector256NonTemporal(byte *address)
Definition Avx2.cs:1393
static unsafe Vector256< int > BroadcastScalarToVector256(int *source)
Definition Avx2.cs:452
static Vector128< long > BroadcastScalarToVector128(Vector128< long > value)
Definition Avx2.cs:322
static new Vector256< sbyte > InsertVector128(Vector256< sbyte > value, Vector128< sbyte > data, byte index)
Definition Avx2.cs:1348
static Vector256< uint > ShiftLeftLogical(Vector256< uint > value, Vector128< uint > count)
Definition Avx2.cs:1783
static Vector128< ulong > BroadcastScalarToVector128(Vector128< ulong > value)
Definition Avx2.cs:327
static unsafe Vector256< short > LoadAlignedVector256NonTemporal(short *address)
Definition Avx2.cs:1398
static Vector256< ushort > Average(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:217
static Vector256< ulong > Add(Vector256< ulong > left, Vector256< ulong > right)
Definition Avx2.cs:67
static unsafe Vector128< ulong > GatherVector128(ulong *baseAddress, Vector128< int > index, byte scale)
Definition Avx2.cs:778
static unsafe Vector128< uint > GatherMaskVector128(Vector128< uint > source, uint *baseAddress, Vector128< long > index, Vector128< uint > mask, byte scale)
Definition Avx2.cs:1114
static Vector256< ulong > Subtract(Vector256< ulong > left, Vector256< ulong > right)
Definition Avx2.cs:2168
static Vector256< int > Max(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:1538
static new Vector128< long > ExtractVector128(Vector256< long > value, byte index)
Definition Avx2.cs:732
static Vector256< ulong > UnpackLow(Vector256< ulong > left, Vector256< ulong > right)
Definition Avx2.cs:2273
static Vector256< ushort > Add(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:47
static new Vector128< int > ExtractVector128(Vector256< int > value, byte index)
Definition Avx2.cs:722
static Vector256< long > AndNot(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:202
static Vector128< int > BroadcastScalarToVector128(Vector128< int > value)
Definition Avx2.cs:312
static Vector256< short > Blend(Vector256< short > left, Vector256< short > right, byte control)
Definition Avx2.cs:232
static Vector128< float > BroadcastScalarToVector128(Vector128< float > value)
Definition Avx2.cs:332
static unsafe Vector128< float > GatherVector128(float *baseAddress, Vector128< int > index, byte scale)
Definition Avx2.cs:790
static unsafe Vector128< uint > MaskLoad(uint *address, Vector128< uint > mask)
Definition Avx2.cs:1433
static Vector256< sbyte > UnpackHigh(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:2198
static Vector256< short > UnpackLow(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:2248
static Vector256< uint > ShiftLeftLogicalVariable(Vector256< uint > value, Vector256< uint > count)
Definition Avx2.cs:1873
static unsafe Vector128< ulong > GatherMaskVector128(Vector128< ulong > source, ulong *baseAddress, Vector128< int > index, Vector128< ulong > mask, byte scale)
Definition Avx2.cs:1066
static new Vector128< ulong > ExtractVector128(Vector256< ulong > value, byte index)
Definition Avx2.cs:737
static unsafe Vector128< uint > GatherMaskVector128(Vector128< uint > source, uint *baseAddress, Vector128< int > index, Vector128< uint > mask, byte scale)
Definition Avx2.cs:1042
static Vector256< uint > ShiftRightLogicalVariable(Vector256< uint > value, Vector256< uint > count)
Definition Avx2.cs:2043
static Vector256< short > ShuffleHigh(Vector256< short > value, byte control)
Definition Avx2.cs:2098
static unsafe Vector256< long > GatherMaskVector256(Vector256< long > source, long *baseAddress, Vector256< long > index, Vector256< long > mask, byte scale)
Definition Avx2.cs:1270
static unsafe Vector256< sbyte > LoadAlignedVector256NonTemporal(sbyte *address)
Definition Avx2.cs:1388
static Vector256< long > ShiftRightLogical(Vector256< long > value, Vector128< long > count)
Definition Avx2.cs:1958
static Vector256< int > ConvertToVector256Int32(Vector128< sbyte > value)
Definition Avx2.cs:592
static Vector128< uint > BroadcastScalarToVector128(Vector128< uint > value)
Definition Avx2.cs:317
static Vector256< int > Sign(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:2128
static unsafe Vector256< ushort > BroadcastScalarToVector256(ushort *source)
Definition Avx2.cs:447
static Vector128< int > ShiftRightLogicalVariable(Vector128< int > value, Vector128< uint > count)
Definition Avx2.cs:2058
static Vector256< int > ShiftLeftLogical(Vector256< int > value, byte count)
Definition Avx2.cs:1808
static unsafe Vector256< ushort > LoadAlignedVector256NonTemporal(ushort *address)
Definition Avx2.cs:1403
static Vector256< ulong > Xor(Vector256< ulong > left, Vector256< ulong > right)
Definition Avx2.cs:2313
static Vector256< ulong > And(Vector256< ulong > left, Vector256< ulong > right)
Definition Avx2.cs:167
static unsafe Vector256< uint > GatherVector256(uint *baseAddress, Vector256< int > index, byte scale)
Definition Avx2.cs:898
static new Vector256< sbyte > Permute2x128(Vector256< sbyte > left, Vector256< sbyte > right, byte control)
Definition Avx2.cs:1698
static unsafe Vector128< double > GatherVector128(double *baseAddress, Vector128< long > index, byte scale)
Definition Avx2.cs:874
static unsafe Vector256< ulong > GatherMaskVector256(Vector256< ulong > source, ulong *baseAddress, Vector256< long > index, Vector256< ulong > mask, byte scale)
Definition Avx2.cs:1282
static int MoveMask(Vector256< byte > value)
Definition Avx2.cs:1583
static Vector256< short > Subtract(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:2143
static unsafe Vector256< uint > MaskLoad(uint *address, Vector256< uint > mask)
Definition Avx2.cs:1453
static unsafe Vector128< ulong > GatherVector128(ulong *baseAddress, Vector128< long > index, byte scale)
Definition Avx2.cs:850
static Vector256< short > ShiftLeftLogical(Vector256< short > value, Vector128< short > count)
Definition Avx2.cs:1768
static unsafe Vector128< uint > GatherMaskVector128(Vector128< uint > source, uint *baseAddress, Vector256< long > index, Vector128< uint > mask, byte scale)
Definition Avx2.cs:1258
static Vector256< long > UnpackHigh(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:2228
static Vector256< sbyte > Shuffle(Vector256< sbyte > value, Vector256< sbyte > mask)
Definition Avx2.cs:2078
static Vector256< long > ConvertToVector256Int64(Vector128< sbyte > value)
Definition Avx2.cs:612
static Vector256< int > Shuffle(Vector256< int > value, byte control)
Definition Avx2.cs:2088
static Vector128< int > ShiftLeftLogicalVariable(Vector128< int > value, Vector128< uint > count)
Definition Avx2.cs:1888
static unsafe Vector128< int > GatherVector128(int *baseAddress, Vector128< int > index, byte scale)
Definition Avx2.cs:742
static unsafe Vector128< long > GatherVector128(long *baseAddress, Vector128< long > index, byte scale)
Definition Avx2.cs:838
static Vector256< uint > ShiftRightLogical(Vector256< uint > value, byte count)
Definition Avx2.cs:1983
static Vector256< byte > ShiftRightLogical128BitLane(Vector256< byte > value, byte numBytes)
Definition Avx2.cs:2003
static new Vector128< ushort > ExtractVector128(Vector256< ushort > value, byte index)
Definition Avx2.cs:717
static Vector256< sbyte > UnpackLow(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:2238
static Vector256< byte > Xor(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:2283
static Vector256< double > Permute4x64(Vector256< double > value, byte control)
Definition Avx2.cs:1748
static Vector256< long > ShiftRightLogicalVariable(Vector256< long > value, Vector256< ulong > count)
Definition Avx2.cs:2048
static Vector256< long > BroadcastScalarToVector256(Vector128< long > value)
Definition Avx2.cs:412
static Vector256< byte > SubtractSaturate(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:2183
static Vector256< uint > Subtract(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:2158
static Vector256< short > ShiftLeftLogical(Vector256< short > value, byte count)
Definition Avx2.cs:1798
static Vector256< uint > Or(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:1663
static unsafe Vector256< long > GatherMaskVector256(Vector256< long > source, long *baseAddress, Vector128< int > index, Vector256< long > mask, byte scale)
Definition Avx2.cs:1198
static Vector256< short > BlendVariable(Vector256< short > left, Vector256< short > right, Vector256< short > mask)
Definition Avx2.cs:262
static new Vector256< long > InsertVector128(Vector256< long > value, Vector128< long > data, byte index)
Definition Avx2.cs:1378
static unsafe Vector128< int > GatherMaskVector128(Vector128< int > source, int *baseAddress, Vector256< long > index, Vector128< int > mask, byte scale)
Definition Avx2.cs:1246
static Vector256< uint > Shuffle(Vector256< uint > value, byte control)
Definition Avx2.cs:2093
static Vector256< ushort > ShuffleLow(Vector256< ushort > value, byte control)
Definition Avx2.cs:2113
static Vector256< ushort > CompareEqual(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:527
static unsafe Vector128< ulong > BroadcastScalarToVector128(ulong *source)
Definition Avx2.cs:377
static unsafe Vector256< short > BroadcastVector128ToVector256(short *address)
Definition Avx2.cs:482
static Vector128< int > ShiftRightArithmeticVariable(Vector128< int > value, Vector128< uint > count)
Definition Avx2.cs:1933
static Vector256< ushort > ShiftRightLogical(Vector256< ushort > value, Vector128< ushort > count)
Definition Avx2.cs:1943
static Vector256< int > CompareEqual(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:532
static unsafe Vector128< double > GatherVector128(double *baseAddress, Vector128< int > index, byte scale)
Definition Avx2.cs:802
static Vector256< byte > UnpackHigh(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:2203
static new Vector256< ulong > InsertVector128(Vector256< ulong > value, Vector128< ulong > data, byte index)
Definition Avx2.cs:1383
static Vector256< long > ShiftRightLogical128BitLane(Vector256< long > value, byte numBytes)
Definition Avx2.cs:2028
static unsafe Vector128< int > MaskLoad(int *address, Vector128< int > mask)
Definition Avx2.cs:1428
static Vector256< ulong > ShiftRightLogicalVariable(Vector256< ulong > value, Vector256< ulong > count)
Definition Avx2.cs:2053
static unsafe Vector256< double > GatherMaskVector256(Vector256< double > source, double *baseAddress, Vector128< int > index, Vector256< double > mask, byte scale)
Definition Avx2.cs:1234
static unsafe Vector256< short > ConvertToVector256Int16(sbyte *address)
Definition Avx2.cs:642
static Vector256< short > ShiftLeftLogical128BitLane(Vector256< short > value, byte numBytes)
Definition Avx2.cs:1838
static unsafe void MaskStore(uint *address, Vector128< uint > mask, Vector128< uint > source)
Definition Avx2.cs:1473
static Vector256< ushort > ShiftRightLogical128BitLane(Vector256< ushort > value, byte numBytes)
Definition Avx2.cs:2013
static Vector256< int > ShiftRightLogical(Vector256< int > value, Vector128< int > count)
Definition Avx2.cs:1948
static Vector256< sbyte > AndNot(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:172
static Vector256< ushort > UnpackLow(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:2253
static Vector256< sbyte > Xor(Vector256< sbyte > left, Vector256< sbyte > right)
Definition Avx2.cs:2278
static Vector256< long > ShiftLeftLogical(Vector256< long > value, Vector128< long > count)
Definition Avx2.cs:1788
static unsafe Vector256< int > GatherVector256(int *baseAddress, Vector256< int > index, byte scale)
Definition Avx2.cs:886
static Vector256< short > PackSignedSaturate(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:1683
static Vector256< short > CompareEqual(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:522
static new Vector256< short > Permute2x128(Vector256< short > left, Vector256< short > right, byte control)
Definition Avx2.cs:1708
static Vector256< byte > PackUnsignedSaturate(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:1688
static Vector256< ushort > UnpackHigh(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:2213
static Vector256< ulong > UnpackHigh(Vector256< ulong > left, Vector256< ulong > right)
Definition Avx2.cs:2233
static Vector256< byte > Add(Vector256< byte > left, Vector256< byte > right)
Definition Avx2.cs:37
static Vector256< ushort > ShuffleHigh(Vector256< ushort > value, byte control)
Definition Avx2.cs:2103
static new Vector256< int > InsertVector128(Vector256< int > value, Vector128< int > data, byte index)
Definition Avx2.cs:1368
static Vector256< int > ShiftRightLogical128BitLane(Vector256< int > value, byte numBytes)
Definition Avx2.cs:2018
static Vector256< ulong > Multiply(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:1598
static unsafe Vector256< long > LoadAlignedVector256NonTemporal(long *address)
Definition Avx2.cs:1418
static Vector128< sbyte > BroadcastScalarToVector128(Vector128< sbyte > value)
Definition Avx2.cs:297
static Vector256< ushort > Max(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:1533
static Vector256< long > ShiftLeftLogicalVariable(Vector256< long > value, Vector256< ulong > count)
Definition Avx2.cs:1878
static unsafe Vector128< float > GatherVector128(float *baseAddress, Vector128< long > index, byte scale)
Definition Avx2.cs:862
static new Vector128< uint > ExtractVector128(Vector256< uint > value, byte index)
Definition Avx2.cs:727
static Vector256< sbyte > BlendVariable(Vector256< sbyte > left, Vector256< sbyte > right, Vector256< sbyte > mask)
Definition Avx2.cs:252
static Vector256< ulong > ShiftLeftLogical(Vector256< ulong > value, Vector128< ulong > count)
Definition Avx2.cs:1793
static Vector256< long > CompareEqual(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:542
static Vector256< short > Sign(Vector256< short > left, Vector256< short > right)
Definition Avx2.cs:2123
static Vector256< short > ShiftRightLogical(Vector256< short > value, byte count)
Definition Avx2.cs:1968
static new Vector128< short > ExtractVector128(Vector256< short > value, byte index)
Definition Avx2.cs:712
static Vector256< int > ShiftRightArithmetic(Vector256< int > value, Vector128< int > count)
Definition Avx2.cs:1913
static Vector256< long > UnpackLow(Vector256< long > left, Vector256< long > right)
Definition Avx2.cs:2268
static Vector256< ulong > ShiftLeftLogical128BitLane(Vector256< ulong > value, byte numBytes)
Definition Avx2.cs:1863
static unsafe Vector128< int > GatherVector128(int *baseAddress, Vector128< long > index, byte scale)
Definition Avx2.cs:814
static Vector256< ushort > Subtract(Vector256< ushort > left, Vector256< ushort > right)
Definition Avx2.cs:2148
static unsafe Vector256< short > ConvertToVector256Int16(byte *address)
Definition Avx2.cs:647
static Vector128< long > ShiftRightLogicalVariable(Vector128< long > value, Vector128< ulong > count)
Definition Avx2.cs:2068
static Vector256< int > PermuteVar8x32(Vector256< int > left, Vector256< int > control)
Definition Avx2.cs:1753
static Vector256< uint > Add(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:57
static unsafe Vector256< sbyte > BroadcastScalarToVector256(sbyte *source)
Definition Avx2.cs:437
static Vector256< ushort > BroadcastScalarToVector256(Vector128< ushort > value)
Definition Avx2.cs:397
static new Vector256< ushort > InsertVector128(Vector256< ushort > value, Vector128< ushort > data, byte index)
Definition Avx2.cs:1363
static unsafe Vector256< float > GatherMaskVector256(Vector256< float > source, float *baseAddress, Vector256< int > index, Vector256< float > mask, byte scale)
Definition Avx2.cs:1222
static Vector256< int > Blend(Vector256< int > left, Vector256< int > right, byte control)
Definition Avx2.cs:242
static Vector256< short > ShuffleLow(Vector256< short > value, byte control)
Definition Avx2.cs:2108
static Vector256< ulong > AndNot(Vector256< ulong > left, Vector256< ulong > right)
Definition Avx2.cs:207
static Vector256< int > ShiftRightArithmetic(Vector256< int > value, byte count)
Definition Avx2.cs:1923
static Vector256< ulong > AlignRight(Vector256< ulong > left, Vector256< ulong > right, byte mask)
Definition Avx2.cs:127
static Vector256< int > UnpackLow(Vector256< int > left, Vector256< int > right)
Definition Avx2.cs:2258
static Vector256< uint > UnpackHigh(Vector256< uint > left, Vector256< uint > right)
Definition Avx2.cs:2223
static Vector256< uint > Blend(Vector256< uint > left, Vector256< uint > right, byte control)
Definition Avx2.cs:247
static unsafe Vector128< double > GatherMaskVector128(Vector128< double > source, double *baseAddress, Vector128< int > index, Vector128< double > mask, byte scale)
Definition Avx2.cs:1090
static Vector256< int > AlignRight(Vector256< int > left, Vector256< int > right, byte mask)
Definition Avx2.cs:112
static Vector256< ulong > ShiftRightLogical(Vector256< ulong > value, byte count)
Definition Avx2.cs:1993
static Vector256< short > MultiplyAddAdjacent(Vector256< byte > left, Vector256< sbyte > right)
Definition Avx2.cs:1513
static unsafe Vector128< float > GatherMaskVector128(Vector128< float > source, float *baseAddress, Vector256< long > index, Vector128< float > mask, byte scale)
Definition Avx2.cs:1294
static unsafe(int Eax, int Ebx, int Ecx, int Edx) CpuId(int functionId