1#![allow(clippy::useless_conversion)]
4
5use crate::{Vec2, Vec3, Vec4, Vec4Swizzles};
6
7#[cfg(target_arch = "x86")]
8use core::arch::x86::*;
9#[cfg(target_arch = "x86_64")]
10use core::arch::x86_64::*;
11
12impl Vec4Swizzles for Vec4 {
13 type Vec2 = Vec2;
14
15 type Vec3 = Vec3;
16
17 #[inline]
18 #[must_use]
19 fn xx(self) -> Vec2 {
20 Vec2 {
21 x: self.x,
22 y: self.x,
23 }
24 }
25
26 #[inline]
27 #[must_use]
28 fn xy(self) -> Vec2 {
29 Vec2 {
30 x: self.x,
31 y: self.y,
32 }
33 }
34
35 #[inline]
36 #[must_use]
37 fn xz(self) -> Vec2 {
38 Vec2 {
39 x: self.x,
40 y: self.z,
41 }
42 }
43
44 #[inline]
45 #[must_use]
46 fn xw(self) -> Vec2 {
47 Vec2 {
48 x: self.x,
49 y: self.w,
50 }
51 }
52
53 #[inline]
54 #[must_use]
55 fn yx(self) -> Vec2 {
56 Vec2 {
57 x: self.y,
58 y: self.x,
59 }
60 }
61
62 #[inline]
63 #[must_use]
64 fn yy(self) -> Vec2 {
65 Vec2 {
66 x: self.y,
67 y: self.y,
68 }
69 }
70
71 #[inline]
72 #[must_use]
73 fn yz(self) -> Vec2 {
74 Vec2 {
75 x: self.y,
76 y: self.z,
77 }
78 }
79
80 #[inline]
81 #[must_use]
82 fn yw(self) -> Vec2 {
83 Vec2 {
84 x: self.y,
85 y: self.w,
86 }
87 }
88
89 #[inline]
90 #[must_use]
91 fn zx(self) -> Vec2 {
92 Vec2 {
93 x: self.z,
94 y: self.x,
95 }
96 }
97
98 #[inline]
99 #[must_use]
100 fn zy(self) -> Vec2 {
101 Vec2 {
102 x: self.z,
103 y: self.y,
104 }
105 }
106
107 #[inline]
108 #[must_use]
109 fn zz(self) -> Vec2 {
110 Vec2 {
111 x: self.z,
112 y: self.z,
113 }
114 }
115
116 #[inline]
117 #[must_use]
118 fn zw(self) -> Vec2 {
119 Vec2 {
120 x: self.z,
121 y: self.w,
122 }
123 }
124
125 #[inline]
126 #[must_use]
127 fn wx(self) -> Vec2 {
128 Vec2 {
129 x: self.w,
130 y: self.x,
131 }
132 }
133
134 #[inline]
135 #[must_use]
136 fn wy(self) -> Vec2 {
137 Vec2 {
138 x: self.w,
139 y: self.y,
140 }
141 }
142
143 #[inline]
144 #[must_use]
145 fn wz(self) -> Vec2 {
146 Vec2 {
147 x: self.w,
148 y: self.z,
149 }
150 }
151
152 #[inline]
153 #[must_use]
154 fn ww(self) -> Vec2 {
155 Vec2 {
156 x: self.w,
157 y: self.w,
158 }
159 }
160
161 #[inline]
162 #[must_use]
163 fn xxx(self) -> Vec3 {
164 Vec3::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}