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