1 // Generated from swizzle_impl.rs.tera template. Edit the template, not the generated file. 2 3 #![allow(clippy::useless_conversion)] 4 5 use crate::{Vec2, Vec3A, Vec3Swizzles, Vec4}; 6 7 #[cfg(target_arch = "x86")] 8 use core::arch::x86::*; 9 #[cfg(target_arch = "x86_64")] 10 use core::arch::x86_64::*; 11 12 impl Vec3Swizzles for Vec3A { 13 type Vec2 = Vec2; 14 15 type Vec4 = Vec4; 16 17 #[inline] 18 #[must_use] xx(self) -> Vec219 fn xx(self) -> Vec2 { 20 Vec2 { 21 x: self.x, 22 y: self.x, 23 } 24 } 25 26 #[inline] 27 #[must_use] xy(self) -> Vec228 fn xy(self) -> Vec2 { 29 Vec2 { 30 x: self.x, 31 y: self.y, 32 } 33 } 34 35 #[inline] 36 #[must_use] with_xy(self, rhs: Vec2) -> Self37 fn with_xy(self, rhs: Vec2) -> Self { 38 Self::new(rhs.x, rhs.y, self.z) 39 } 40 41 #[inline] 42 #[must_use] xz(self) -> Vec243 fn xz(self) -> Vec2 { 44 Vec2 { 45 x: self.x, 46 y: self.z, 47 } 48 } 49 50 #[inline] 51 #[must_use] with_xz(self, rhs: Vec2) -> Self52 fn with_xz(self, rhs: Vec2) -> Self { 53 Self::new(rhs.x, self.y, rhs.y) 54 } 55 56 #[inline] 57 #[must_use] yx(self) -> Vec258 fn yx(self) -> Vec2 { 59 Vec2 { 60 x: self.y, 61 y: self.x, 62 } 63 } 64 65 #[inline] 66 #[must_use] with_yx(self, rhs: Vec2) -> Self67 fn with_yx(self, rhs: Vec2) -> Self { 68 Self::new(rhs.y, rhs.x, self.z) 69 } 70 71 #[inline] 72 #[must_use] yy(self) -> Vec273 fn yy(self) -> Vec2 { 74 Vec2 { 75 x: self.y, 76 y: self.y, 77 } 78 } 79 80 #[inline] 81 #[must_use] yz(self) -> Vec282 fn yz(self) -> Vec2 { 83 Vec2 { 84 x: self.y, 85 y: self.z, 86 } 87 } 88 89 #[inline] 90 #[must_use] with_yz(self, rhs: Vec2) -> Self91 fn with_yz(self, rhs: Vec2) -> Self { 92 Self::new(self.x, rhs.x, rhs.y) 93 } 94 95 #[inline] 96 #[must_use] zx(self) -> Vec297 fn zx(self) -> Vec2 { 98 Vec2 { 99 x: self.z, 100 y: self.x, 101 } 102 } 103 104 #[inline] 105 #[must_use] with_zx(self, rhs: Vec2) -> Self106 fn with_zx(self, rhs: Vec2) -> Self { 107 Self::new(rhs.y, self.y, rhs.x) 108 } 109 110 #[inline] 111 #[must_use] zy(self) -> Vec2112 fn zy(self) -> Vec2 { 113 Vec2 { 114 x: self.z, 115 y: self.y, 116 } 117 } 118 119 #[inline] 120 #[must_use] with_zy(self, rhs: Vec2) -> Self121 fn with_zy(self, rhs: Vec2) -> Self { 122 Self::new(self.x, rhs.y, rhs.x) 123 } 124 125 #[inline] 126 #[must_use] zz(self) -> Vec2127 fn zz(self) -> Vec2 { 128 Vec2 { 129 x: self.z, 130 y: self.z, 131 } 132 } 133 134 #[inline] 135 #[must_use] xxx(self) -> Vec3A136 fn xxx(self) -> Vec3A { 137 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_00) }).into()) 138 } 139 140 #[inline] 141 #[must_use] xxy(self) -> Vec3A142 fn xxy(self) -> Vec3A { 143 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_00) }).into()) 144 } 145 146 #[inline] 147 #[must_use] xxz(self) -> Vec3A148 fn xxz(self) -> Vec3A { 149 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_00) }).into()) 150 } 151 152 #[inline] 153 #[must_use] xyx(self) -> Vec3A154 fn xyx(self) -> Vec3A { 155 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_00) }).into()) 156 } 157 158 #[inline] 159 #[must_use] xyy(self) -> Vec3A160 fn xyy(self) -> Vec3A { 161 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_00) }).into()) 162 } 163 164 #[inline] 165 #[must_use] xzx(self) -> Vec3A166 fn xzx(self) -> Vec3A { 167 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_00) }).into()) 168 } 169 170 #[inline] 171 #[must_use] xzy(self) -> Vec3A172 fn xzy(self) -> Vec3A { 173 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_00) }).into()) 174 } 175 176 #[inline] 177 #[must_use] xzz(self) -> Vec3A178 fn xzz(self) -> Vec3A { 179 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_00) }).into()) 180 } 181 182 #[inline] 183 #[must_use] yxx(self) -> Vec3A184 fn yxx(self) -> Vec3A { 185 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_01) }).into()) 186 } 187 188 #[inline] 189 #[must_use] yxy(self) -> Vec3A190 fn yxy(self) -> Vec3A { 191 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_01) }).into()) 192 } 193 194 #[inline] 195 #[must_use] yxz(self) -> Vec3A196 fn yxz(self) -> Vec3A { 197 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_01) }).into()) 198 } 199 200 #[inline] 201 #[must_use] yyx(self) -> Vec3A202 fn yyx(self) -> Vec3A { 203 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_01) }).into()) 204 } 205 206 #[inline] 207 #[must_use] yyy(self) -> Vec3A208 fn yyy(self) -> Vec3A { 209 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_01) }).into()) 210 } 211 212 #[inline] 213 #[must_use] yyz(self) -> Vec3A214 fn yyz(self) -> Vec3A { 215 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_01_01) }).into()) 216 } 217 218 #[inline] 219 #[must_use] yzx(self) -> Vec3A220 fn yzx(self) -> Vec3A { 221 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_01) }).into()) 222 } 223 224 #[inline] 225 #[must_use] yzy(self) -> Vec3A226 fn yzy(self) -> Vec3A { 227 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_01) }).into()) 228 } 229 230 #[inline] 231 #[must_use] yzz(self) -> Vec3A232 fn yzz(self) -> Vec3A { 233 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_01) }).into()) 234 } 235 236 #[inline] 237 #[must_use] zxx(self) -> Vec3A238 fn zxx(self) -> Vec3A { 239 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_10) }).into()) 240 } 241 242 #[inline] 243 #[must_use] zxy(self) -> Vec3A244 fn zxy(self) -> Vec3A { 245 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_10) }).into()) 246 } 247 248 #[inline] 249 #[must_use] zxz(self) -> Vec3A250 fn zxz(self) -> Vec3A { 251 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_10) }).into()) 252 } 253 254 #[inline] 255 #[must_use] zyx(self) -> Vec3A256 fn zyx(self) -> Vec3A { 257 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_10) }).into()) 258 } 259 260 #[inline] 261 #[must_use] zyy(self) -> Vec3A262 fn zyy(self) -> Vec3A { 263 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_10) }).into()) 264 } 265 266 #[inline] 267 #[must_use] zyz(self) -> Vec3A268 fn zyz(self) -> Vec3A { 269 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_01_10) }).into()) 270 } 271 272 #[inline] 273 #[must_use] zzx(self) -> Vec3A274 fn zzx(self) -> Vec3A { 275 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_10) }).into()) 276 } 277 278 #[inline] 279 #[must_use] zzy(self) -> Vec3A280 fn zzy(self) -> Vec3A { 281 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_10) }).into()) 282 } 283 284 #[inline] 285 #[must_use] zzz(self) -> Vec3A286 fn zzz(self) -> Vec3A { 287 Vec3A((unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_10) }).into()) 288 } 289 290 #[inline] 291 #[must_use] xxxx(self) -> Vec4292 fn xxxx(self) -> Vec4 { 293 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_00) }) 294 } 295 296 #[inline] 297 #[must_use] xxxy(self) -> Vec4298 fn xxxy(self) -> Vec4 { 299 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_00_00) }) 300 } 301 302 #[inline] 303 #[must_use] xxxz(self) -> Vec4304 fn xxxz(self) -> Vec4 { 305 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_00_00) }) 306 } 307 308 #[inline] 309 #[must_use] xxyx(self) -> Vec4310 fn xxyx(self) -> Vec4 { 311 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_00) }) 312 } 313 314 #[inline] 315 #[must_use] xxyy(self) -> Vec4316 fn xxyy(self) -> Vec4 { 317 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_00_00) }) 318 } 319 320 #[inline] 321 #[must_use] xxyz(self) -> Vec4322 fn xxyz(self) -> Vec4 { 323 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_00_00) }) 324 } 325 326 #[inline] 327 #[must_use] xxzx(self) -> Vec4328 fn xxzx(self) -> Vec4 { 329 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_00) }) 330 } 331 332 #[inline] 333 #[must_use] xxzy(self) -> Vec4334 fn xxzy(self) -> Vec4 { 335 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_00_00) }) 336 } 337 338 #[inline] 339 #[must_use] xxzz(self) -> Vec4340 fn xxzz(self) -> Vec4 { 341 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_00_00) }) 342 } 343 344 #[inline] 345 #[must_use] xyxx(self) -> Vec4346 fn xyxx(self) -> Vec4 { 347 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_00) }) 348 } 349 350 #[inline] 351 #[must_use] xyxy(self) -> Vec4352 fn xyxy(self) -> Vec4 { 353 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_01_00) }) 354 } 355 356 #[inline] 357 #[must_use] xyxz(self) -> Vec4358 fn xyxz(self) -> Vec4 { 359 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_01_00) }) 360 } 361 362 #[inline] 363 #[must_use] xyyx(self) -> Vec4364 fn xyyx(self) -> Vec4 { 365 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_00) }) 366 } 367 368 #[inline] 369 #[must_use] xyyy(self) -> Vec4370 fn xyyy(self) -> Vec4 { 371 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_01_00) }) 372 } 373 374 #[inline] 375 #[must_use] xyyz(self) -> Vec4376 fn xyyz(self) -> Vec4 { 377 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_01_00) }) 378 } 379 380 #[inline] 381 #[must_use] xyzx(self) -> Vec4382 fn xyzx(self) -> Vec4 { 383 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_01_00) }) 384 } 385 386 #[inline] 387 #[must_use] xyzy(self) -> Vec4388 fn xyzy(self) -> Vec4 { 389 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_01_00) }) 390 } 391 392 #[inline] 393 #[must_use] xyzz(self) -> Vec4394 fn xyzz(self) -> Vec4 { 395 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_01_00) }) 396 } 397 398 #[inline] 399 #[must_use] xzxx(self) -> Vec4400 fn xzxx(self) -> Vec4 { 401 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_00) }) 402 } 403 404 #[inline] 405 #[must_use] xzxy(self) -> Vec4406 fn xzxy(self) -> Vec4 { 407 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_10_00) }) 408 } 409 410 #[inline] 411 #[must_use] xzxz(self) -> Vec4412 fn xzxz(self) -> Vec4 { 413 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_10_00) }) 414 } 415 416 #[inline] 417 #[must_use] xzyx(self) -> Vec4418 fn xzyx(self) -> Vec4 { 419 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_00) }) 420 } 421 422 #[inline] 423 #[must_use] xzyy(self) -> Vec4424 fn xzyy(self) -> Vec4 { 425 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_10_00) }) 426 } 427 428 #[inline] 429 #[must_use] xzyz(self) -> Vec4430 fn xzyz(self) -> Vec4 { 431 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_10_00) }) 432 } 433 434 #[inline] 435 #[must_use] xzzx(self) -> Vec4436 fn xzzx(self) -> Vec4 { 437 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_00) }) 438 } 439 440 #[inline] 441 #[must_use] xzzy(self) -> Vec4442 fn xzzy(self) -> Vec4 { 443 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_10_00) }) 444 } 445 446 #[inline] 447 #[must_use] xzzz(self) -> Vec4448 fn xzzz(self) -> Vec4 { 449 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_10_00) }) 450 } 451 452 #[inline] 453 #[must_use] yxxx(self) -> Vec4454 fn yxxx(self) -> Vec4 { 455 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_01) }) 456 } 457 458 #[inline] 459 #[must_use] yxxy(self) -> Vec4460 fn yxxy(self) -> Vec4 { 461 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_00_01) }) 462 } 463 464 #[inline] 465 #[must_use] yxxz(self) -> Vec4466 fn yxxz(self) -> Vec4 { 467 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_00_01) }) 468 } 469 470 #[inline] 471 #[must_use] yxyx(self) -> Vec4472 fn yxyx(self) -> Vec4 { 473 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_01) }) 474 } 475 476 #[inline] 477 #[must_use] yxyy(self) -> Vec4478 fn yxyy(self) -> Vec4 { 479 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_00_01) }) 480 } 481 482 #[inline] 483 #[must_use] yxyz(self) -> Vec4484 fn yxyz(self) -> Vec4 { 485 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_00_01) }) 486 } 487 488 #[inline] 489 #[must_use] yxzx(self) -> Vec4490 fn yxzx(self) -> Vec4 { 491 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_01) }) 492 } 493 494 #[inline] 495 #[must_use] yxzy(self) -> Vec4496 fn yxzy(self) -> Vec4 { 497 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_00_01) }) 498 } 499 500 #[inline] 501 #[must_use] yxzz(self) -> Vec4502 fn yxzz(self) -> Vec4 { 503 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_00_01) }) 504 } 505 506 #[inline] 507 #[must_use] yyxx(self) -> Vec4508 fn yyxx(self) -> Vec4 { 509 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_01) }) 510 } 511 512 #[inline] 513 #[must_use] yyxy(self) -> Vec4514 fn yyxy(self) -> Vec4 { 515 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_01_01) }) 516 } 517 518 #[inline] 519 #[must_use] yyxz(self) -> Vec4520 fn yyxz(self) -> Vec4 { 521 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_01_01) }) 522 } 523 524 #[inline] 525 #[must_use] yyyx(self) -> Vec4526 fn yyyx(self) -> Vec4 { 527 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_01) }) 528 } 529 530 #[inline] 531 #[must_use] yyyy(self) -> Vec4532 fn yyyy(self) -> Vec4 { 533 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_01_01) }) 534 } 535 536 #[inline] 537 #[must_use] yyyz(self) -> Vec4538 fn yyyz(self) -> Vec4 { 539 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_01_01) }) 540 } 541 542 #[inline] 543 #[must_use] yyzx(self) -> Vec4544 fn yyzx(self) -> Vec4 { 545 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_01_01) }) 546 } 547 548 #[inline] 549 #[must_use] yyzy(self) -> Vec4550 fn yyzy(self) -> Vec4 { 551 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_01_01) }) 552 } 553 554 #[inline] 555 #[must_use] yyzz(self) -> Vec4556 fn yyzz(self) -> Vec4 { 557 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_01_01) }) 558 } 559 560 #[inline] 561 #[must_use] yzxx(self) -> Vec4562 fn yzxx(self) -> Vec4 { 563 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_01) }) 564 } 565 566 #[inline] 567 #[must_use] yzxy(self) -> Vec4568 fn yzxy(self) -> Vec4 { 569 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_10_01) }) 570 } 571 572 #[inline] 573 #[must_use] yzxz(self) -> Vec4574 fn yzxz(self) -> Vec4 { 575 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_10_01) }) 576 } 577 578 #[inline] 579 #[must_use] yzyx(self) -> Vec4580 fn yzyx(self) -> Vec4 { 581 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_01) }) 582 } 583 584 #[inline] 585 #[must_use] yzyy(self) -> Vec4586 fn yzyy(self) -> Vec4 { 587 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_10_01) }) 588 } 589 590 #[inline] 591 #[must_use] yzyz(self) -> Vec4592 fn yzyz(self) -> Vec4 { 593 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_10_01) }) 594 } 595 596 #[inline] 597 #[must_use] yzzx(self) -> Vec4598 fn yzzx(self) -> Vec4 { 599 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_01) }) 600 } 601 602 #[inline] 603 #[must_use] yzzy(self) -> Vec4604 fn yzzy(self) -> Vec4 { 605 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_10_01) }) 606 } 607 608 #[inline] 609 #[must_use] yzzz(self) -> Vec4610 fn yzzz(self) -> Vec4 { 611 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_10_01) }) 612 } 613 614 #[inline] 615 #[must_use] zxxx(self) -> Vec4616 fn zxxx(self) -> Vec4 { 617 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_00_10) }) 618 } 619 620 #[inline] 621 #[must_use] zxxy(self) -> Vec4622 fn zxxy(self) -> Vec4 { 623 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_00_10) }) 624 } 625 626 #[inline] 627 #[must_use] zxxz(self) -> Vec4628 fn zxxz(self) -> Vec4 { 629 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_00_10) }) 630 } 631 632 #[inline] 633 #[must_use] zxyx(self) -> Vec4634 fn zxyx(self) -> Vec4 { 635 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_00_10) }) 636 } 637 638 #[inline] 639 #[must_use] zxyy(self) -> Vec4640 fn zxyy(self) -> Vec4 { 641 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_00_10) }) 642 } 643 644 #[inline] 645 #[must_use] zxyz(self) -> Vec4646 fn zxyz(self) -> Vec4 { 647 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_00_10) }) 648 } 649 650 #[inline] 651 #[must_use] zxzx(self) -> Vec4652 fn zxzx(self) -> Vec4 { 653 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_00_10) }) 654 } 655 656 #[inline] 657 #[must_use] zxzy(self) -> Vec4658 fn zxzy(self) -> Vec4 { 659 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_00_10) }) 660 } 661 662 #[inline] 663 #[must_use] zxzz(self) -> Vec4664 fn zxzz(self) -> Vec4 { 665 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_00_10) }) 666 } 667 668 #[inline] 669 #[must_use] zyxx(self) -> Vec4670 fn zyxx(self) -> Vec4 { 671 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_01_10) }) 672 } 673 674 #[inline] 675 #[must_use] zyxy(self) -> Vec4676 fn zyxy(self) -> Vec4 { 677 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_01_10) }) 678 } 679 680 #[inline] 681 #[must_use] zyxz(self) -> Vec4682 fn zyxz(self) -> Vec4 { 683 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_01_10) }) 684 } 685 686 #[inline] 687 #[must_use] zyyx(self) -> Vec4688 fn zyyx(self) -> Vec4 { 689 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_01_10) }) 690 } 691 692 #[inline] 693 #[must_use] zyyy(self) -> Vec4694 fn zyyy(self) -> Vec4 { 695 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_01_10) }) 696 } 697 698 #[inline] 699 #[must_use] zyyz(self) -> Vec4700 fn zyyz(self) -> Vec4 { 701 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_01_10) }) 702 } 703 704 #[inline] 705 #[must_use] zyzx(self) -> Vec4706 fn zyzx(self) -> Vec4 { 707 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_01_10) }) 708 } 709 710 #[inline] 711 #[must_use] zyzy(self) -> Vec4712 fn zyzy(self) -> Vec4 { 713 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_01_10) }) 714 } 715 716 #[inline] 717 #[must_use] zyzz(self) -> Vec4718 fn zyzz(self) -> Vec4 { 719 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_01_10) }) 720 } 721 722 #[inline] 723 #[must_use] zzxx(self) -> Vec4724 fn zzxx(self) -> Vec4 { 725 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_00_10_10) }) 726 } 727 728 #[inline] 729 #[must_use] zzxy(self) -> Vec4730 fn zzxy(self) -> Vec4 { 731 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_00_10_10) }) 732 } 733 734 #[inline] 735 #[must_use] zzxz(self) -> Vec4736 fn zzxz(self) -> Vec4 { 737 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_00_10_10) }) 738 } 739 740 #[inline] 741 #[must_use] zzyx(self) -> Vec4742 fn zzyx(self) -> Vec4 { 743 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_01_10_10) }) 744 } 745 746 #[inline] 747 #[must_use] zzyy(self) -> Vec4748 fn zzyy(self) -> Vec4 { 749 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_01_10_10) }) 750 } 751 752 #[inline] 753 #[must_use] zzyz(self) -> Vec4754 fn zzyz(self) -> Vec4 { 755 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_01_10_10) }) 756 } 757 758 #[inline] 759 #[must_use] zzzx(self) -> Vec4760 fn zzzx(self) -> Vec4 { 761 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b00_10_10_10) }) 762 } 763 764 #[inline] 765 #[must_use] zzzy(self) -> Vec4766 fn zzzy(self) -> Vec4 { 767 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b01_10_10_10) }) 768 } 769 770 #[inline] 771 #[must_use] zzzz(self) -> Vec4772 fn zzzz(self) -> Vec4 { 773 Vec4(unsafe { _mm_shuffle_ps(self.0, self.0, 0b10_10_10_10) }) 774 } 775 } 776