1#![allow(clippy::useless_conversion)]
4
5use crate::{Vec2, Vec3, Vec4, Vec4Swizzles};
6
7#[cfg(target_arch = "x86")]
8use core::arch::x86::*;
9#[cfg(target_arch = "x86_64")]
10use core::arch::x86_64::*;
11
12impl Vec4Swizzles for Vec4 {
13 type Vec2 = Vec2;
14
15 type Vec3 = Vec3;
16
17 #[inline]
18 #[must_use]
19 fn xx(self) -> Vec2 {
20 Vec2 {
21 x: self.x,
22 y: self.x,
23 }
24 }
25
26 #[inline]
27 #[must_use]
28 fn xy(self) -> Vec2 {
29 Vec2 {
30 x: self.x,
31 y: self.y,
32 }
33 }
34
35 #[inline]
36 #[must_use]
37 fn xz(self) -> Vec2 {
38 Vec2 {
39 x: self.x,
40 y: self.z,
41 }
42 }
43
44 #[inline]
45 #[must_use]
46 fn xw(self) -> Vec2 {
47 Vec2 {
48 x: self.x,
49 y: self.w,
50 }
51 }
52
53 #[inline]
54 #[must_use]
55 fn yx(self) -> Vec2 {
56 Vec2 {
57 x: self.y,
58 y: self.x,
59 }
60 }
61
62 #[inline]
63 #[must_use]
64 fn yy(self) -> Vec2 {
65 Vec2 {
66 x: self.y,
67 y: self.y,
68 }
69 }
70
71 #[inline]
72 #[must_use]
73 fn yz(self) -> Vec2 {
74 Vec2 {
75 x: self.y,
76 y: self.z,
77 }
78 }
79
80 #[inline]
81 #[must_use]
82 fn yw(self) -> Vec2 {
83 Vec2 {
84 x: self.y,
85 y: self.w,
86 }
87 }
88
89 #[inline]
90 #[must_use]
91 fn zx(self) -> Vec2 {
92 Vec2 {
93 x: self.z,
94 y: self.x,
95 }
96 }
97
98 #[inline]
99 #[must_use]
100 fn zy(self) -> Vec2 {
101 Vec2 {
102 x: self.z,
103 y: self.y,
104 }
105 }
106
107 #[inline]
108 #[must_use]
109 fn zz(self) -> Vec2 {
110 Vec2 {
111 x: self.z,
112 y: self.z,
113 }
114 }
115
116 #[inline]
117 #[must_use]
118 fn zw(self) -> Vec2 {
119 Vec2 {
120 x: self.z,
121 y: self.w,
122 }
123 }
124
125 #[inline]
126 #[must_use]
127 fn wx(self) -> Vec2 {
128 Vec2 {
129 x: self.w,
130 y: self.x,
131 }
132 }
133
134 #[inline]
135 #[must_use]
136 fn wy(self) -> Vec2 {
137 Vec2 {
138 x: self.w,
139 y: self.y,
140 }
141 }
142
143 #[inline]
144 #[must_use]
145 fn wz(self) -> Vec2 {
146 Vec2 {
147 x: self.w,
148 y: self.z,
149 }
150 }
151
152 #[inline]
153 #[must_use]
154 fn ww(self) -> Vec2 {
155 Vec2 {
156 x: self.w,
157 y: self.w,
158 }
159 }
160
161 #[inline]
162 #[must_use]
163 fn xxx(self) -> Vec3 {
164 Vec3 {
165 x: self.x,
166 y: self.x,
167 z: self.x,
168 }
169 }
170
171 #[inline]
172 #[must_use]
173 fn xxy(self) -> Vec3 {
174 Vec3 {
175 x: self.x,
176 y: self.x,
177 z: self.y,
178 }
179 }
180
181 #[inline]
182 #[must_use]
183 fn xxz(self) -> Vec3 {
184 Vec3 {
185 x: self.x,
186 y: self.x,
187 z: self.z,
188 }
189 }
190
191 #[inline]
192 #[must_use]
193 fn xxw(self) -> Vec3 {
194 Vec3 {
195 x: self.x,
196 y: self.x,
197 z: self.w,
198 }
199 }
200
201 #[inline]
202 #[must_use]
203 fn xyx(self) -> Vec3 {
204 Vec3 {
205 x: self.x,
206 y: self.y,
207 z: self.x,
208 }
209 }
210
211 #[inline]
212 #[must_use]
213 fn xyy(self) -> Vec3 {
214 Vec3 {
215 x: self.x,
216 y: self.y,
217 z: self.y,
218 }
219 }
220
221 #[inline]
222 #[must_use]
223 fn xyz(self) -> Vec3 {
224 Vec3 {
225 x: self.x,
226 y: self.y,
227 z: self.z,
228 }
229 }
230
231 #[inline]
232 #[must_use]
233 fn xyw(self) -> Vec3 {
234 Vec3 {
235 x: self.x,
236 y: self.y,
237 z: self.w,
238 }
239 }
240
241 #[inline]
242 #[must_use]
243 fn xzx(self) -> Vec3 {
244 Vec3 {
245 x: self.x,
246 y: self.z,
247 z: self.x,
248 }
249 }
250
251 #[inline]
252 #[must_use]
253 fn xzy(self) -> Vec3 {
254 Vec3 {
255 x: self.x,
256 y: self.z,
257 z: self.y,
258 }
259 }
260
261 #[inline]
262 #[must_use]
263 fn xzz(self) -> Vec3 {
264 Vec3 {
265 x: self.x,
266 y: self.z,
267 z: self.z,
268 }
269 }
270
271 #[inline]
272 #[must_use]
273 fn xzw(self) -> Vec3 {
274 Vec3 {
275 x: self.x,
276 y: self.z,
277 z: self.w,
278 }
279 }
280
281 #[inline]
282 #[must_use]
283 fn xwx(self) -> Vec3 {
284 Vec3 {
285 x: self.x,
286 y: self.w,
287 z: self.x,
288 }
289 }
290
291 #[inline]
292 #[must_use]
293 fn xwy(self) -> Vec3 {
294 Vec3 {
295 x: self.x,
296 y: self.w,
297 z: self.y,
298 }
299 }
300
301 #[inline]
302 #[must_use]
303 fn xwz(self) -> Vec3 {
304 Vec3 {
305 x: self.x,
306 y: self.w,
307 z: self.z,
308 }
309 }
310
311 #[inline]
312 #[must_use]
313 fn xww(self) -> Vec3 {
314 Vec3 {
315 x: self.x,
316 y: self.w,
317 z: self.w,
318 }
319 }
320
321 #[inline]
322 #[must_use]
323 fn yxx(self) -> Vec3 {
324 Vec3 {
325 x: self.y,
326 y: self.x,
327 z: self.x,
328 }
329 }
330
331 #[inline]
332 #[must_use]
333 fn yxy(self) -> Vec3 {
334 Vec3 {
335 x: self.y,
336 y: self.x,
337 z: self.y,
338 }
339 }
340
341 #[inline]
342 #[must_use]
343 fn yxz(self) -> Vec3 {
344 Vec3 {
345 x: self.y,
346 y: self.x,
347 z: self.z,
348 }
349 }
350
351 #[inline]
352 #[must_use]
353 fn yxw(self) -> Vec3 {
354 Vec3 {
355 x: self.y,
356 y: self.x,
357 z: self.w,
358 }
359 }
360
361 #[inline]
362 #[must_use]
363 fn yyx(self) -> Vec3 {
364 Vec3 {
365 x: self.y,
366 y: self.y,
367 z: self.x,
368 }
369 }
370
371 #[inline]
372 #[must_use]
373 fn yyy(self) -> Vec3 {
374 Vec3 {
375 x: self.y,
376 y: self.y,
377 z: self.y,
378 }
379 }
380
381 #[inline]
382 #[must_use]
383 fn yyz(self) -> Vec3 {
384 Vec3 {
385 x: self.y,
386 y: self.y,
387 z: self.z,
388 }
389 }
390
391 #[inline]
392 #[must_use]
393 fn yyw(self) -> Vec3 {
394 Vec3 {
395 x: self.y,
396 y: self.y,
397 z: self.w,
398 }
399 }
400
401 #[inline]
402 #[must_use]
403 fn yzx(self) -> Vec3 {
404 Vec3 {
405 x: self.y,
406 y: self.z,
407 z: self.x,
408 }
409 }
410
411 #[inline]
412 #[must_use]
413 fn yzy(self) -> Vec3 {
414 Vec3 {
415 x: self.y,
416 y: self.z,
417 z: self.y,
418 }
419 }
420
421 #[inline]
422 #[must_use]
423 fn yzz(self) -> Vec3 {
424 Vec3 {
425 x: self.y,
426 y: self.z,
427 z: self.z,
428 }
429 }
430
431 #[inline]
432 #[must_use]
433 fn yzw(self) -> Vec3 {
434 Vec3 {
435 x: self.y,
436 y: self.z,
437 z: self.w,
438 }
439 }
440
441 #[inline]
442 #[must_use]
443 fn ywx(self) -> Vec3 {
444 Vec3 {
445 x: self.y,
446 y: self.w,
447 z: self.x,
448 }
449 }
450
451 #[inline]
452 #[must_use]
453 fn ywy(self) -> Vec3 {
454 Vec3 {
455 x: self.y,
456 y: self.w,
457 z: self.y,
458 }
459 }
460
461 #[inline]
462 #[must_use]
463 fn ywz(self) -> Vec3 {
464 Vec3 {
465 x: self.y,
466 y: self.w,
467 z: self.z,
468 }
469 }
470
471 #[inline]
472 #[must_use]
473 fn yww(self) -> Vec3 {
474 Vec3 {
475 x: self.y,
476 y: self.w,
477 z: self.w,
478 }
479 }
480
481 #[inline]
482 #[must_use]
483 fn zxx(self) -> Vec3 {
484 Vec3 {
485 x: self.z,
486 y: self.x,
487 z: self.x,
488 }
489 }
490
491 #[inline]
492 #[must_use]
493 fn zxy(self) -> Vec3 {
494 Vec3 {
495 x: self.z,
496 y: self.x,
497 z: self.y,
498 }
499 }
500
501 #[inline]
502 #[must_use]
503 fn zxz(self) -> Vec3 {
504 Vec3 {
505 x: self.z,
506 y: self.x,
507 z: self.z,
508 }
509 }
510
511 #[inline]
512 #[must_use]
513 fn zxw(self) -> Vec3 {
514 Vec3 {
515 x: self.z,
516 y: self.x,
517 z: self.w,
518 }
519 }
520
521 #[inline]
522 #[must_use]
523 fn zyx(self) -> Vec3 {
524 Vec3 {
525 x: self.z,
526 y: self.y,
527 z: self.x,
528 }
529 }
530
531 #[inline]
532 #[must_use]
533 fn zyy(self) -> Vec3 {
534 Vec3 {
535 x: self.z,
536 y: self.y,
537 z: self.y,
538 }
539 }
540
541 #[inline]
542 #[must_use]
543 fn zyz(self) -> Vec3 {
544 Vec3 {
545 x: self.z,
546 y: self.y,
547 z: self.z,
548 }
549 }
550
551 #[inline]
552 #[must_use]
553 fn zyw(self) -> Vec3 {
554 Vec3 {
555 x: self.z,
556 y: self.y,
557 z: self.w,
558 }
559 }
560
561 #[inline]
562 #[must_use]
563 fn zzx(self) -> Vec3 {
564 Vec3 {
565 x: self.z,
566 y: self.z,
567 z: self.x,
568 }
569 }
570
571 #[inline]
572 #[must_use]
573 fn zzy(self) -> Vec3 {
574 Vec3 {
575 x: self.z,
576 y: self.z,
577 z: self.y,
578 }
579 }
580
581 #[inline]
582 #[must_use]
583 fn zzz(self) -> Vec3 {
584 Vec3 {
585 x: self.z,
586 y: self.z,
587 z: self.z,
588 }
589 }
590
591 #[inline]
592 #[must_use]
593 fn zzw(self) -> Vec3 {
594 Vec3 {
595 x: self.z,
596 y: self.z,
597 z: self.w,
598 }
599 }
600
601 #[inline]
602 #[must_use]
603 fn zwx(self) -> Vec3 {
604 Vec3 {
605 x: self.z,
606 y: self.w,
607 z: self.x,
608 }
609 }
610
611 #[inline]
612 #[must_use]
613 fn zwy(self) -> Vec3 {
614 Vec3 {
615 x: self.z,
616 y: self.w,
617 z: self.y,
618 }
619 }
620
621 #[inline]
622 #[must_use]
623 fn zwz(self) -> Vec3 {
624 Vec3 {
625 x: self.z,
626 y: self.w,
627 z: self.z,
628 }
629 }
630
631 #[inline]
632 #[must_use]
633 fn zww(self) -> Vec3 {
634 Vec3 {
635 x: self.z,
636 y: self.w,
637 z: self.w,
638 }
639 }
640
641 #[inline]
642 #[must_use]
643 fn wxx(self) -> Vec3 {
644 Vec3 {
645 x: self.w,
646 y: self.x,
647 z: self.x,
648 }
649 }
650
651 #[inline]
652 #[must_use]
653 fn wxy(self) -> Vec3 {
654 Vec3 {
655 x: self.w,
656 y: self.x,
657 z: self.y,
658 }
659 }
660
661 #[inline]
662 #[must_use]
663 fn wxz(self) -> Vec3 {
664 Vec3 {
665 x: self.w,
666 y: self.x,
667 z: self.z,
668 }
669 }
670
671 #[inline]
672 #[must_use]
673 fn wxw(self) -> Vec3 {
674 Vec3 {
675 x: self.w,
676 y: self.x,
677 z: self.w,
678 }
679 }
680
681 #[inline]
682 #[must_use]
683 fn wyx(self) -> Vec3 {
684 Vec3 {
685 x: self.w,
686 y: self.y,
687 z: self.x,
688 }
689 }
690
691 #[inline]
692 #[must_use]
693 fn wyy(self) -> Vec3 {
694 Vec3 {
695 x: self.w,
696 y: self.y,
697 z: self.y,
698 }
699 }
700
701 #[inline]
702 #[must_use]
703 fn wyz(self) -> Vec3 {
704 Vec3 {
705 x: self.w,
706 y: self.y,
707 z: self.z,
708 }
709 }
710
711 #[inline]
712 #[must_use]
713 fn wyw(self) -> Vec3 {
714 Vec3 {
715 x: self.w,
716 y: self.y,
717 z: self.w,
718 }
719 }
720
721 #[inline]
722 #[must_use]
723 fn wzx(self) -> Vec3 {
724 Vec3 {
725 x: self.w,
726 y: self.z,
727 z: self.x,
728 }
729 }
730
731 #[inline]
732 #[must_use]
733 fn wzy(self) -> Vec3 {
734 Vec3 {
735 x: self.w,
736 y: self.z,
737 z: self.y,
738 }
739 }
740
741 #[inline]
742 #[must_use]
743 fn wzz(self) -> Vec3 {
744 Vec3 {
745 x: self.w,
746 y: self.z,
747 z: self.z,
748 }
749 }
750
751 #[inline]
752 #[must_use]
753 fn wzw(self) -> Vec3 {
754 Vec3 {
755 x: self.w,
756 y: self.z,
757 z: self.w,
758 }
759 }
760
761 #[inline]
762 #[must_use]
763 fn wwx(self) -> Vec3 {
764 Vec3 {
765 x: self.w,
766 y: self.w,
767 z: self.x,
768 }
769 }
770
771 #[inline]
772 #[must_use]
773 fn wwy(self) -> Vec3 {
774 Vec3 {
775 x: self.w,
776 y: self.w,
777 z: self.y,
778 }
779 }
780
781 #[inline]
782 #[must_use]
783 fn wwz(self) -> Vec3 {
784 Vec3 {
785 x: self.w,
786 y: self.w,
787 z: self.z,
788 }
789 }
790
791 #[inline]
792 #[must_use]
793 fn www(self) -> Vec3 {
794 Vec3 {
795 x: self.w,
796 y: self.w,
797 z: self.w,
798 }
799 }
800
801 #[inline]
802 #[must_use]
803 fn xxxx(self) -> Vec4 {
804 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_00) })
805 }
806
807 #[inline]
808 #[must_use]
809 fn xxxy(self) -> Vec4 {
810 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_00_00) })
811 }
812
813 #[inline]
814 #[must_use]
815 fn xxxz(self) -> Vec4 {
816 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_00_00) })
817 }
818
819 #[inline]
820 #[must_use]
821 fn xxxw(self) -> Vec4 {
822 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_00_00) })
823 }
824
825 #[inline]
826 #[must_use]
827 fn xxyx(self) -> Vec4 {
828 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_00) })
829 }
830
831 #[inline]
832 #[must_use]
833 fn xxyy(self) -> Vec4 {
834 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_00_00) })
835 }
836
837 #[inline]
838 #[must_use]
839 fn xxyz(self) -> Vec4 {
840 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_00_00) })
841 }
842
843 #[inline]
844 #[must_use]
845 fn xxyw(self) -> Vec4 {
846 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_00_00) })
847 }
848
849 #[inline]
850 #[must_use]
851 fn xxzx(self) -> Vec4 {
852 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_00) })
853 }
854
855 #[inline]
856 #[must_use]
857 fn xxzy(self) -> Vec4 {
858 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_00_00) })
859 }
860
861 #[inline]
862 #[must_use]
863 fn xxzz(self) -> Vec4 {
864 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_00_00) })
865 }
866
867 #[inline]
868 #[must_use]
869 fn xxzw(self) -> Vec4 {
870 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_00_00) })
871 }
872
873 #[inline]
874 #[must_use]
875 fn xxwx(self) -> Vec4 {
876 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_00_00) })
877 }
878
879 #[inline]
880 #[must_use]
881 fn xxwy(self) -> Vec4 {
882 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_00_00) })
883 }
884
885 #[inline]
886 #[must_use]
887 fn xxwz(self) -> Vec4 {
888 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_00_00) })
889 }
890
891 #[inline]
892 #[must_use]
893 fn xxww(self) -> Vec4 {
894 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_00_00) })
895 }
896
897 #[inline]
898 #[must_use]
899 fn xyxx(self) -> Vec4 {
900 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_00) })
901 }
902
903 #[inline]
904 #[must_use]
905 fn xyxy(self) -> Vec4 {
906 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_01_00) })
907 }
908
909 #[inline]
910 #[must_use]
911 fn xyxz(self) -> Vec4 {
912 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_01_00) })
913 }
914
915 #[inline]
916 #[must_use]
917 fn xyxw(self) -> Vec4 {
918 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_01_00) })
919 }
920
921 #[inline]
922 #[must_use]
923 fn xyyx(self) -> Vec4 {
924 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_00) })
925 }
926
927 #[inline]
928 #[must_use]
929 fn xyyy(self) -> Vec4 {
930 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_01_00) })
931 }
932
933 #[inline]
934 #[must_use]
935 fn xyyz(self) -> Vec4 {
936 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_01_00) })
937 }
938
939 #[inline]
940 #[must_use]
941 fn xyyw(self) -> Vec4 {
942 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_01_00) })
943 }
944
945 #[inline]
946 #[must_use]
947 fn xyzx(self) -> Vec4 {
948 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_01_00) })
949 }
950
951 #[inline]
952 #[must_use]
953 fn xyzy(self) -> Vec4 {
954 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_01_00) })
955 }
956
957 #[inline]
958 #[must_use]
959 fn xyzz(self) -> Vec4 {
960 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_01_00) })
961 }
962
963 #[inline]
964 #[must_use]
965 fn xyzw(self) -> Vec4 {
966 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_01_00) })
967 }
968
969 #[inline]
970 #[must_use]
971 fn xywx(self) -> Vec4 {
972 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_01_00) })
973 }
974
975 #[inline]
976 #[must_use]
977 fn xywy(self) -> Vec4 {
978 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_01_00) })
979 }
980
981 #[inline]
982 #[must_use]
983 fn xywz(self) -> Vec4 {
984 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_01_00) })
985 }
986
987 #[inline]
988 #[must_use]
989 fn xyww(self) -> Vec4 {
990 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_01_00) })
991 }
992
993 #[inline]
994 #[must_use]
995 fn xzxx(self) -> Vec4 {
996 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_00) })
997 }
998
999 #[inline]
1000 #[must_use]
1001 fn xzxy(self) -> Vec4 {
1002 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_10_00) })
1003 }
1004
1005 #[inline]
1006 #[must_use]
1007 fn xzxz(self) -> Vec4 {
1008 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_10_00) })
1009 }
1010
1011 #[inline]
1012 #[must_use]
1013 fn xzxw(self) -> Vec4 {
1014 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_10_00) })
1015 }
1016
1017 #[inline]
1018 #[must_use]
1019 fn xzyx(self) -> Vec4 {
1020 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_00) })
1021 }
1022
1023 #[inline]
1024 #[must_use]
1025 fn xzyy(self) -> Vec4 {
1026 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_10_00) })
1027 }
1028
1029 #[inline]
1030 #[must_use]
1031 fn xzyz(self) -> Vec4 {
1032 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_10_00) })
1033 }
1034
1035 #[inline]
1036 #[must_use]
1037 fn xzyw(self) -> Vec4 {
1038 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_10_00) })
1039 }
1040
1041 #[inline]
1042 #[must_use]
1043 fn xzzx(self) -> Vec4 {
1044 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_00) })
1045 }
1046
1047 #[inline]
1048 #[must_use]
1049 fn xzzy(self) -> Vec4 {
1050 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_10_00) })
1051 }
1052
1053 #[inline]
1054 #[must_use]
1055 fn xzzz(self) -> Vec4 {
1056 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_10_00) })
1057 }
1058
1059 #[inline]
1060 #[must_use]
1061 fn xzzw(self) -> Vec4 {
1062 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_10_00) })
1063 }
1064
1065 #[inline]
1066 #[must_use]
1067 fn xzwx(self) -> Vec4 {
1068 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_10_00) })
1069 }
1070
1071 #[inline]
1072 #[must_use]
1073 fn xzwy(self) -> Vec4 {
1074 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_10_00) })
1075 }
1076
1077 #[inline]
1078 #[must_use]
1079 fn xzwz(self) -> Vec4 {
1080 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_10_00) })
1081 }
1082
1083 #[inline]
1084 #[must_use]
1085 fn xzww(self) -> Vec4 {
1086 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_10_00) })
1087 }
1088
1089 #[inline]
1090 #[must_use]
1091 fn xwxx(self) -> Vec4 {
1092 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_11_00) })
1093 }
1094
1095 #[inline]
1096 #[must_use]
1097 fn xwxy(self) -> Vec4 {
1098 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_11_00) })
1099 }
1100
1101 #[inline]
1102 #[must_use]
1103 fn xwxz(self) -> Vec4 {
1104 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_11_00) })
1105 }
1106
1107 #[inline]
1108 #[must_use]
1109 fn xwxw(self) -> Vec4 {
1110 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_11_00) })
1111 }
1112
1113 #[inline]
1114 #[must_use]
1115 fn xwyx(self) -> Vec4 {
1116 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_11_00) })
1117 }
1118
1119 #[inline]
1120 #[must_use]
1121 fn xwyy(self) -> Vec4 {
1122 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_11_00) })
1123 }
1124
1125 #[inline]
1126 #[must_use]
1127 fn xwyz(self) -> Vec4 {
1128 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_11_00) })
1129 }
1130
1131 #[inline]
1132 #[must_use]
1133 fn xwyw(self) -> Vec4 {
1134 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_11_00) })
1135 }
1136
1137 #[inline]
1138 #[must_use]
1139 fn xwzx(self) -> Vec4 {
1140 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_11_00) })
1141 }
1142
1143 #[inline]
1144 #[must_use]
1145 fn xwzy(self) -> Vec4 {
1146 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_11_00) })
1147 }
1148
1149 #[inline]
1150 #[must_use]
1151 fn xwzz(self) -> Vec4 {
1152 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_11_00) })
1153 }
1154
1155 #[inline]
1156 #[must_use]
1157 fn xwzw(self) -> Vec4 {
1158 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_11_00) })
1159 }
1160
1161 #[inline]
1162 #[must_use]
1163 fn xwwx(self) -> Vec4 {
1164 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_11_00) })
1165 }
1166
1167 #[inline]
1168 #[must_use]
1169 fn xwwy(self) -> Vec4 {
1170 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_11_00) })
1171 }
1172
1173 #[inline]
1174 #[must_use]
1175 fn xwwz(self) -> Vec4 {
1176 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_11_00) })
1177 }
1178
1179 #[inline]
1180 #[must_use]
1181 fn xwww(self) -> Vec4 {
1182 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_11_00) })
1183 }
1184
1185 #[inline]
1186 #[must_use]
1187 fn yxxx(self) -> Vec4 {
1188 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_01) })
1189 }
1190
1191 #[inline]
1192 #[must_use]
1193 fn yxxy(self) -> Vec4 {
1194 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_00_01) })
1195 }
1196
1197 #[inline]
1198 #[must_use]
1199 fn yxxz(self) -> Vec4 {
1200 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_00_01) })
1201 }
1202
1203 #[inline]
1204 #[must_use]
1205 fn yxxw(self) -> Vec4 {
1206 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_00_01) })
1207 }
1208
1209 #[inline]
1210 #[must_use]
1211 fn yxyx(self) -> Vec4 {
1212 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_01) })
1213 }
1214
1215 #[inline]
1216 #[must_use]
1217 fn yxyy(self) -> Vec4 {
1218 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_00_01) })
1219 }
1220
1221 #[inline]
1222 #[must_use]
1223 fn yxyz(self) -> Vec4 {
1224 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_00_01) })
1225 }
1226
1227 #[inline]
1228 #[must_use]
1229 fn yxyw(self) -> Vec4 {
1230 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_00_01) })
1231 }
1232
1233 #[inline]
1234 #[must_use]
1235 fn yxzx(self) -> Vec4 {
1236 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_01) })
1237 }
1238
1239 #[inline]
1240 #[must_use]
1241 fn yxzy(self) -> Vec4 {
1242 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_00_01) })
1243 }
1244
1245 #[inline]
1246 #[must_use]
1247 fn yxzz(self) -> Vec4 {
1248 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_00_01) })
1249 }
1250
1251 #[inline]
1252 #[must_use]
1253 fn yxzw(self) -> Vec4 {
1254 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_00_01) })
1255 }
1256
1257 #[inline]
1258 #[must_use]
1259 fn yxwx(self) -> Vec4 {
1260 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_00_01) })
1261 }
1262
1263 #[inline]
1264 #[must_use]
1265 fn yxwy(self) -> Vec4 {
1266 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_00_01) })
1267 }
1268
1269 #[inline]
1270 #[must_use]
1271 fn yxwz(self) -> Vec4 {
1272 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_00_01) })
1273 }
1274
1275 #[inline]
1276 #[must_use]
1277 fn yxww(self) -> Vec4 {
1278 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_00_01) })
1279 }
1280
1281 #[inline]
1282 #[must_use]
1283 fn yyxx(self) -> Vec4 {
1284 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_01) })
1285 }
1286
1287 #[inline]
1288 #[must_use]
1289 fn yyxy(self) -> Vec4 {
1290 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_01_01) })
1291 }
1292
1293 #[inline]
1294 #[must_use]
1295 fn yyxz(self) -> Vec4 {
1296 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_01_01) })
1297 }
1298
1299 #[inline]
1300 #[must_use]
1301 fn yyxw(self) -> Vec4 {
1302 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_01_01) })
1303 }
1304
1305 #[inline]
1306 #[must_use]
1307 fn yyyx(self) -> Vec4 {
1308 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_01) })
1309 }
1310
1311 #[inline]
1312 #[must_use]
1313 fn yyyy(self) -> Vec4 {
1314 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_01_01) })
1315 }
1316
1317 #[inline]
1318 #[must_use]
1319 fn yyyz(self) -> Vec4 {
1320 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_01_01) })
1321 }
1322
1323 #[inline]
1324 #[must_use]
1325 fn yyyw(self) -> Vec4 {
1326 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_01_01) })
1327 }
1328
1329 #[inline]
1330 #[must_use]
1331 fn yyzx(self) -> Vec4 {
1332 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_01_01) })
1333 }
1334
1335 #[inline]
1336 #[must_use]
1337 fn yyzy(self) -> Vec4 {
1338 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_01_01) })
1339 }
1340
1341 #[inline]
1342 #[must_use]
1343 fn yyzz(self) -> Vec4 {
1344 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_01_01) })
1345 }
1346
1347 #[inline]
1348 #[must_use]
1349 fn yyzw(self) -> Vec4 {
1350 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_01_01) })
1351 }
1352
1353 #[inline]
1354 #[must_use]
1355 fn yywx(self) -> Vec4 {
1356 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_01_01) })
1357 }
1358
1359 #[inline]
1360 #[must_use]
1361 fn yywy(self) -> Vec4 {
1362 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_01_01) })
1363 }
1364
1365 #[inline]
1366 #[must_use]
1367 fn yywz(self) -> Vec4 {
1368 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_01_01) })
1369 }
1370
1371 #[inline]
1372 #[must_use]
1373 fn yyww(self) -> Vec4 {
1374 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_01_01) })
1375 }
1376
1377 #[inline]
1378 #[must_use]
1379 fn yzxx(self) -> Vec4 {
1380 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_01) })
1381 }
1382
1383 #[inline]
1384 #[must_use]
1385 fn yzxy(self) -> Vec4 {
1386 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_10_01) })
1387 }
1388
1389 #[inline]
1390 #[must_use]
1391 fn yzxz(self) -> Vec4 {
1392 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_10_01) })
1393 }
1394
1395 #[inline]
1396 #[must_use]
1397 fn yzxw(self) -> Vec4 {
1398 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_10_01) })
1399 }
1400
1401 #[inline]
1402 #[must_use]
1403 fn yzyx(self) -> Vec4 {
1404 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_01) })
1405 }
1406
1407 #[inline]
1408 #[must_use]
1409 fn yzyy(self) -> Vec4 {
1410 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_10_01) })
1411 }
1412
1413 #[inline]
1414 #[must_use]
1415 fn yzyz(self) -> Vec4 {
1416 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_10_01) })
1417 }
1418
1419 #[inline]
1420 #[must_use]
1421 fn yzyw(self) -> Vec4 {
1422 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_10_01) })
1423 }
1424
1425 #[inline]
1426 #[must_use]
1427 fn yzzx(self) -> Vec4 {
1428 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_01) })
1429 }
1430
1431 #[inline]
1432 #[must_use]
1433 fn yzzy(self) -> Vec4 {
1434 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_10_01) })
1435 }
1436
1437 #[inline]
1438 #[must_use]
1439 fn yzzz(self) -> Vec4 {
1440 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_10_01) })
1441 }
1442
1443 #[inline]
1444 #[must_use]
1445 fn yzzw(self) -> Vec4 {
1446 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_10_01) })
1447 }
1448
1449 #[inline]
1450 #[must_use]
1451 fn yzwx(self) -> Vec4 {
1452 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_10_01) })
1453 }
1454
1455 #[inline]
1456 #[must_use]
1457 fn yzwy(self) -> Vec4 {
1458 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_10_01) })
1459 }
1460
1461 #[inline]
1462 #[must_use]
1463 fn yzwz(self) -> Vec4 {
1464 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_10_01) })
1465 }
1466
1467 #[inline]
1468 #[must_use]
1469 fn yzww(self) -> Vec4 {
1470 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_10_01) })
1471 }
1472
1473 #[inline]
1474 #[must_use]
1475 fn ywxx(self) -> Vec4 {
1476 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_11_01) })
1477 }
1478
1479 #[inline]
1480 #[must_use]
1481 fn ywxy(self) -> Vec4 {
1482 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_11_01) })
1483 }
1484
1485 #[inline]
1486 #[must_use]
1487 fn ywxz(self) -> Vec4 {
1488 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_11_01) })
1489 }
1490
1491 #[inline]
1492 #[must_use]
1493 fn ywxw(self) -> Vec4 {
1494 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_11_01) })
1495 }
1496
1497 #[inline]
1498 #[must_use]
1499 fn ywyx(self) -> Vec4 {
1500 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_11_01) })
1501 }
1502
1503 #[inline]
1504 #[must_use]
1505 fn ywyy(self) -> Vec4 {
1506 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_11_01) })
1507 }
1508
1509 #[inline]
1510 #[must_use]
1511 fn ywyz(self) -> Vec4 {
1512 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_11_01) })
1513 }
1514
1515 #[inline]
1516 #[must_use]
1517 fn ywyw(self) -> Vec4 {
1518 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_11_01) })
1519 }
1520
1521 #[inline]
1522 #[must_use]
1523 fn ywzx(self) -> Vec4 {
1524 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_11_01) })
1525 }
1526
1527 #[inline]
1528 #[must_use]
1529 fn ywzy(self) -> Vec4 {
1530 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_11_01) })
1531 }
1532
1533 #[inline]
1534 #[must_use]
1535 fn ywzz(self) -> Vec4 {
1536 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_11_01) })
1537 }
1538
1539 #[inline]
1540 #[must_use]
1541 fn ywzw(self) -> Vec4 {
1542 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_11_01) })
1543 }
1544
1545 #[inline]
1546 #[must_use]
1547 fn ywwx(self) -> Vec4 {
1548 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_11_01) })
1549 }
1550
1551 #[inline]
1552 #[must_use]
1553 fn ywwy(self) -> Vec4 {
1554 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_11_01) })
1555 }
1556
1557 #[inline]
1558 #[must_use]
1559 fn ywwz(self) -> Vec4 {
1560 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_11_01) })
1561 }
1562
1563 #[inline]
1564 #[must_use]
1565 fn ywww(self) -> Vec4 {
1566 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_11_01) })
1567 }
1568
1569 #[inline]
1570 #[must_use]
1571 fn zxxx(self) -> Vec4 {
1572 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_10) })
1573 }
1574
1575 #[inline]
1576 #[must_use]
1577 fn zxxy(self) -> Vec4 {
1578 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_00_10) })
1579 }
1580
1581 #[inline]
1582 #[must_use]
1583 fn zxxz(self) -> Vec4 {
1584 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_00_10) })
1585 }
1586
1587 #[inline]
1588 #[must_use]
1589 fn zxxw(self) -> Vec4 {
1590 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_00_10) })
1591 }
1592
1593 #[inline]
1594 #[must_use]
1595 fn zxyx(self) -> Vec4 {
1596 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_10) })
1597 }
1598
1599 #[inline]
1600 #[must_use]
1601 fn zxyy(self) -> Vec4 {
1602 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_00_10) })
1603 }
1604
1605 #[inline]
1606 #[must_use]
1607 fn zxyz(self) -> Vec4 {
1608 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_00_10) })
1609 }
1610
1611 #[inline]
1612 #[must_use]
1613 fn zxyw(self) -> Vec4 {
1614 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_00_10) })
1615 }
1616
1617 #[inline]
1618 #[must_use]
1619 fn zxzx(self) -> Vec4 {
1620 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_10) })
1621 }
1622
1623 #[inline]
1624 #[must_use]
1625 fn zxzy(self) -> Vec4 {
1626 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_00_10) })
1627 }
1628
1629 #[inline]
1630 #[must_use]
1631 fn zxzz(self) -> Vec4 {
1632 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_00_10) })
1633 }
1634
1635 #[inline]
1636 #[must_use]
1637 fn zxzw(self) -> Vec4 {
1638 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_00_10) })
1639 }
1640
1641 #[inline]
1642 #[must_use]
1643 fn zxwx(self) -> Vec4 {
1644 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_00_10) })
1645 }
1646
1647 #[inline]
1648 #[must_use]
1649 fn zxwy(self) -> Vec4 {
1650 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_00_10) })
1651 }
1652
1653 #[inline]
1654 #[must_use]
1655 fn zxwz(self) -> Vec4 {
1656 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_00_10) })
1657 }
1658
1659 #[inline]
1660 #[must_use]
1661 fn zxww(self) -> Vec4 {
1662 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_00_10) })
1663 }
1664
1665 #[inline]
1666 #[must_use]
1667 fn zyxx(self) -> Vec4 {
1668 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_10) })
1669 }
1670
1671 #[inline]
1672 #[must_use]
1673 fn zyxy(self) -> Vec4 {
1674 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_01_10) })
1675 }
1676
1677 #[inline]
1678 #[must_use]
1679 fn zyxz(self) -> Vec4 {
1680 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_01_10) })
1681 }
1682
1683 #[inline]
1684 #[must_use]
1685 fn zyxw(self) -> Vec4 {
1686 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_01_10) })
1687 }
1688
1689 #[inline]
1690 #[must_use]
1691 fn zyyx(self) -> Vec4 {
1692 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_10) })
1693 }
1694
1695 #[inline]
1696 #[must_use]
1697 fn zyyy(self) -> Vec4 {
1698 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_01_10) })
1699 }
1700
1701 #[inline]
1702 #[must_use]
1703 fn zyyz(self) -> Vec4 {
1704 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_01_10) })
1705 }
1706
1707 #[inline]
1708 #[must_use]
1709 fn zyyw(self) -> Vec4 {
1710 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_01_10) })
1711 }
1712
1713 #[inline]
1714 #[must_use]
1715 fn zyzx(self) -> Vec4 {
1716 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_01_10) })
1717 }
1718
1719 #[inline]
1720 #[must_use]
1721 fn zyzy(self) -> Vec4 {
1722 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_01_10) })
1723 }
1724
1725 #[inline]
1726 #[must_use]
1727 fn zyzz(self) -> Vec4 {
1728 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_01_10) })
1729 }
1730
1731 #[inline]
1732 #[must_use]
1733 fn zyzw(self) -> Vec4 {
1734 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_01_10) })
1735 }
1736
1737 #[inline]
1738 #[must_use]
1739 fn zywx(self) -> Vec4 {
1740 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_01_10) })
1741 }
1742
1743 #[inline]
1744 #[must_use]
1745 fn zywy(self) -> Vec4 {
1746 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_01_10) })
1747 }
1748
1749 #[inline]
1750 #[must_use]
1751 fn zywz(self) -> Vec4 {
1752 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_01_10) })
1753 }
1754
1755 #[inline]
1756 #[must_use]
1757 fn zyww(self) -> Vec4 {
1758 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_01_10) })
1759 }
1760
1761 #[inline]
1762 #[must_use]
1763 fn zzxx(self) -> Vec4 {
1764 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_10) })
1765 }
1766
1767 #[inline]
1768 #[must_use]
1769 fn zzxy(self) -> Vec4 {
1770 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_10_10) })
1771 }
1772
1773 #[inline]
1774 #[must_use]
1775 fn zzxz(self) -> Vec4 {
1776 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_10_10) })
1777 }
1778
1779 #[inline]
1780 #[must_use]
1781 fn zzxw(self) -> Vec4 {
1782 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_10_10) })
1783 }
1784
1785 #[inline]
1786 #[must_use]
1787 fn zzyx(self) -> Vec4 {
1788 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_10) })
1789 }
1790
1791 #[inline]
1792 #[must_use]
1793 fn zzyy(self) -> Vec4 {
1794 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_10_10) })
1795 }
1796
1797 #[inline]
1798 #[must_use]
1799 fn zzyz(self) -> Vec4 {
1800 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_10_10) })
1801 }
1802
1803 #[inline]
1804 #[must_use]
1805 fn zzyw(self) -> Vec4 {
1806 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_10_10) })
1807 }
1808
1809 #[inline]
1810 #[must_use]
1811 fn zzzx(self) -> Vec4 {
1812 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_10) })
1813 }
1814
1815 #[inline]
1816 #[must_use]
1817 fn zzzy(self) -> Vec4 {
1818 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_10_10) })
1819 }
1820
1821 #[inline]
1822 #[must_use]
1823 fn zzzz(self) -> Vec4 {
1824 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_10_10) })
1825 }
1826
1827 #[inline]
1828 #[must_use]
1829 fn zzzw(self) -> Vec4 {
1830 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_10_10) })
1831 }
1832
1833 #[inline]
1834 #[must_use]
1835 fn zzwx(self) -> Vec4 {
1836 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_10_10) })
1837 }
1838
1839 #[inline]
1840 #[must_use]
1841 fn zzwy(self) -> Vec4 {
1842 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_10_10) })
1843 }
1844
1845 #[inline]
1846 #[must_use]
1847 fn zzwz(self) -> Vec4 {
1848 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_10_10) })
1849 }
1850
1851 #[inline]
1852 #[must_use]
1853 fn zzww(self) -> Vec4 {
1854 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_10_10) })
1855 }
1856
1857 #[inline]
1858 #[must_use]
1859 fn zwxx(self) -> Vec4 {
1860 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_11_10) })
1861 }
1862
1863 #[inline]
1864 #[must_use]
1865 fn zwxy(self) -> Vec4 {
1866 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_11_10) })
1867 }
1868
1869 #[inline]
1870 #[must_use]
1871 fn zwxz(self) -> Vec4 {
1872 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_11_10) })
1873 }
1874
1875 #[inline]
1876 #[must_use]
1877 fn zwxw(self) -> Vec4 {
1878 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_11_10) })
1879 }
1880
1881 #[inline]
1882 #[must_use]
1883 fn zwyx(self) -> Vec4 {
1884 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_11_10) })
1885 }
1886
1887 #[inline]
1888 #[must_use]
1889 fn zwyy(self) -> Vec4 {
1890 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_11_10) })
1891 }
1892
1893 #[inline]
1894 #[must_use]
1895 fn zwyz(self) -> Vec4 {
1896 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_11_10) })
1897 }
1898
1899 #[inline]
1900 #[must_use]
1901 fn zwyw(self) -> Vec4 {
1902 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_11_10) })
1903 }
1904
1905 #[inline]
1906 #[must_use]
1907 fn zwzx(self) -> Vec4 {
1908 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_11_10) })
1909 }
1910
1911 #[inline]
1912 #[must_use]
1913 fn zwzy(self) -> Vec4 {
1914 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_11_10) })
1915 }
1916
1917 #[inline]
1918 #[must_use]
1919 fn zwzz(self) -> Vec4 {
1920 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_11_10) })
1921 }
1922
1923 #[inline]
1924 #[must_use]
1925 fn zwzw(self) -> Vec4 {
1926 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_11_10) })
1927 }
1928
1929 #[inline]
1930 #[must_use]
1931 fn zwwx(self) -> Vec4 {
1932 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_11_10) })
1933 }
1934
1935 #[inline]
1936 #[must_use]
1937 fn zwwy(self) -> Vec4 {
1938 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_11_10) })
1939 }
1940
1941 #[inline]
1942 #[must_use]
1943 fn zwwz(self) -> Vec4 {
1944 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_11_10) })
1945 }
1946
1947 #[inline]
1948 #[must_use]
1949 fn zwww(self) -> Vec4 {
1950 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_11_10) })
1951 }
1952
1953 #[inline]
1954 #[must_use]
1955 fn wxxx(self) -> Vec4 {
1956 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_11) })
1957 }
1958
1959 #[inline]
1960 #[must_use]
1961 fn wxxy(self) -> Vec4 {
1962 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_00_11) })
1963 }
1964
1965 #[inline]
1966 #[must_use]
1967 fn wxxz(self) -> Vec4 {
1968 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_00_11) })
1969 }
1970
1971 #[inline]
1972 #[must_use]
1973 fn wxxw(self) -> Vec4 {
1974 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_00_11) })
1975 }
1976
1977 #[inline]
1978 #[must_use]
1979 fn wxyx(self) -> Vec4 {
1980 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_11) })
1981 }
1982
1983 #[inline]
1984 #[must_use]
1985 fn wxyy(self) -> Vec4 {
1986 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_00_11) })
1987 }
1988
1989 #[inline]
1990 #[must_use]
1991 fn wxyz(self) -> Vec4 {
1992 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_00_11) })
1993 }
1994
1995 #[inline]
1996 #[must_use]
1997 fn wxyw(self) -> Vec4 {
1998 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_00_11) })
1999 }
2000
2001 #[inline]
2002 #[must_use]
2003 fn wxzx(self) -> Vec4 {
2004 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_11) })
2005 }
2006
2007 #[inline]
2008 #[must_use]
2009 fn wxzy(self) -> Vec4 {
2010 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_00_11) })
2011 }
2012
2013 #[inline]
2014 #[must_use]
2015 fn wxzz(self) -> Vec4 {
2016 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_00_11) })
2017 }
2018
2019 #[inline]
2020 #[must_use]
2021 fn wxzw(self) -> Vec4 {
2022 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_00_11) })
2023 }
2024
2025 #[inline]
2026 #[must_use]
2027 fn wxwx(self) -> Vec4 {
2028 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_00_11) })
2029 }
2030
2031 #[inline]
2032 #[must_use]
2033 fn wxwy(self) -> Vec4 {
2034 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_00_11) })
2035 }
2036
2037 #[inline]
2038 #[must_use]
2039 fn wxwz(self) -> Vec4 {
2040 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_00_11) })
2041 }
2042
2043 #[inline]
2044 #[must_use]
2045 fn wxww(self) -> Vec4 {
2046 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_00_11) })
2047 }
2048
2049 #[inline]
2050 #[must_use]
2051 fn wyxx(self) -> Vec4 {
2052 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_11) })
2053 }
2054
2055 #[inline]
2056 #[must_use]
2057 fn wyxy(self) -> Vec4 {
2058 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_01_11) })
2059 }
2060
2061 #[inline]
2062 #[must_use]
2063 fn wyxz(self) -> Vec4 {
2064 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_01_11) })
2065 }
2066
2067 #[inline]
2068 #[must_use]
2069 fn wyxw(self) -> Vec4 {
2070 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_01_11) })
2071 }
2072
2073 #[inline]
2074 #[must_use]
2075 fn wyyx(self) -> Vec4 {
2076 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_11) })
2077 }
2078
2079 #[inline]
2080 #[must_use]
2081 fn wyyy(self) -> Vec4 {
2082 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_01_11) })
2083 }
2084
2085 #[inline]
2086 #[must_use]
2087 fn wyyz(self) -> Vec4 {
2088 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_01_11) })
2089 }
2090
2091 #[inline]
2092 #[must_use]
2093 fn wyyw(self) -> Vec4 {
2094 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_01_11) })
2095 }
2096
2097 #[inline]
2098 #[must_use]
2099 fn wyzx(self) -> Vec4 {
2100 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_01_11) })
2101 }
2102
2103 #[inline]
2104 #[must_use]
2105 fn wyzy(self) -> Vec4 {
2106 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_01_11) })
2107 }
2108
2109 #[inline]
2110 #[must_use]
2111 fn wyzz(self) -> Vec4 {
2112 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_01_11) })
2113 }
2114
2115 #[inline]
2116 #[must_use]
2117 fn wyzw(self) -> Vec4 {
2118 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_01_11) })
2119 }
2120
2121 #[inline]
2122 #[must_use]
2123 fn wywx(self) -> Vec4 {
2124 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_01_11) })
2125 }
2126
2127 #[inline]
2128 #[must_use]
2129 fn wywy(self) -> Vec4 {
2130 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_01_11) })
2131 }
2132
2133 #[inline]
2134 #[must_use]
2135 fn wywz(self) -> Vec4 {
2136 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_01_11) })
2137 }
2138
2139 #[inline]
2140 #[must_use]
2141 fn wyww(self) -> Vec4 {
2142 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_01_11) })
2143 }
2144
2145 #[inline]
2146 #[must_use]
2147 fn wzxx(self) -> Vec4 {
2148 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_11) })
2149 }
2150
2151 #[inline]
2152 #[must_use]
2153 fn wzxy(self) -> Vec4 {
2154 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_10_11) })
2155 }
2156
2157 #[inline]
2158 #[must_use]
2159 fn wzxz(self) -> Vec4 {
2160 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_10_11) })
2161 }
2162
2163 #[inline]
2164 #[must_use]
2165 fn wzxw(self) -> Vec4 {
2166 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_10_11) })
2167 }
2168
2169 #[inline]
2170 #[must_use]
2171 fn wzyx(self) -> Vec4 {
2172 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_11) })
2173 }
2174
2175 #[inline]
2176 #[must_use]
2177 fn wzyy(self) -> Vec4 {
2178 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_10_11) })
2179 }
2180
2181 #[inline]
2182 #[must_use]
2183 fn wzyz(self) -> Vec4 {
2184 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_10_11) })
2185 }
2186
2187 #[inline]
2188 #[must_use]
2189 fn wzyw(self) -> Vec4 {
2190 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_10_11) })
2191 }
2192
2193 #[inline]
2194 #[must_use]
2195 fn wzzx(self) -> Vec4 {
2196 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_11) })
2197 }
2198
2199 #[inline]
2200 #[must_use]
2201 fn wzzy(self) -> Vec4 {
2202 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_10_11) })
2203 }
2204
2205 #[inline]
2206 #[must_use]
2207 fn wzzz(self) -> Vec4 {
2208 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_10_11) })
2209 }
2210
2211 #[inline]
2212 #[must_use]
2213 fn wzzw(self) -> Vec4 {
2214 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_10_11) })
2215 }
2216
2217 #[inline]
2218 #[must_use]
2219 fn wzwx(self) -> Vec4 {
2220 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_10_11) })
2221 }
2222
2223 #[inline]
2224 #[must_use]
2225 fn wzwy(self) -> Vec4 {
2226 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_10_11) })
2227 }
2228
2229 #[inline]
2230 #[must_use]
2231 fn wzwz(self) -> Vec4 {
2232 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_10_11) })
2233 }
2234
2235 #[inline]
2236 #[must_use]
2237 fn wzww(self) -> Vec4 {
2238 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_10_11) })
2239 }
2240
2241 #[inline]
2242 #[must_use]
2243 fn wwxx(self) -> Vec4 {
2244 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_11_11) })
2245 }
2246
2247 #[inline]
2248 #[must_use]
2249 fn wwxy(self) -> Vec4 {
2250 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_11_11) })
2251 }
2252
2253 #[inline]
2254 #[must_use]
2255 fn wwxz(self) -> Vec4 {
2256 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_11_11) })
2257 }
2258
2259 #[inline]
2260 #[must_use]
2261 fn wwxw(self) -> Vec4 {
2262 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_00_11_11) })
2263 }
2264
2265 #[inline]
2266 #[must_use]
2267 fn wwyx(self) -> Vec4 {
2268 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_11_11) })
2269 }
2270
2271 #[inline]
2272 #[must_use]
2273 fn wwyy(self) -> Vec4 {
2274 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_11_11) })
2275 }
2276
2277 #[inline]
2278 #[must_use]
2279 fn wwyz(self) -> Vec4 {
2280 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_11_11) })
2281 }
2282
2283 #[inline]
2284 #[must_use]
2285 fn wwyw(self) -> Vec4 {
2286 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_01_11_11) })
2287 }
2288
2289 #[inline]
2290 #[must_use]
2291 fn wwzx(self) -> Vec4 {
2292 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_11_11) })
2293 }
2294
2295 #[inline]
2296 #[must_use]
2297 fn wwzy(self) -> Vec4 {
2298 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_11_11) })
2299 }
2300
2301 #[inline]
2302 #[must_use]
2303 fn wwzz(self) -> Vec4 {
2304 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_11_11) })
2305 }
2306
2307 #[inline]
2308 #[must_use]
2309 fn wwzw(self) -> Vec4 {
2310 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_10_11_11) })
2311 }
2312
2313 #[inline]
2314 #[must_use]
2315 fn wwwx(self) -> Vec4 {
2316 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_11_11_11) })
2317 }
2318
2319 #[inline]
2320 #[must_use]
2321 fn wwwy(self) -> Vec4 {
2322 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_11_11_11) })
2323 }
2324
2325 #[inline]
2326 #[must_use]
2327 fn wwwz(self) -> Vec4 {
2328 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_11_11_11) })
2329 }
2330
2331 #[inline]
2332 #[must_use]
2333 fn wwww(self) -> Vec4 {
2334 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b11_11_11_11) })
2335 }
2336}