glam/swizzles/sse2/
vec4_impl.rs

1// Generated from swizzle_impl.rs.tera template. Edit the template, not the generated file.
2
3#![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}