1 // pathfinder/simd/src/scalar/swizzle_f32x4.rs 2 // 3 // Copyright © 2019 The Pathfinder Project Developers. 4 // 5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or 6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your 8 // option. This file may not be copied, modified, or distributed 9 // except according to those terms. 10 11 use crate::scalar::F32x4; 12 13 impl F32x4 { 14 /// Constructs a new vector from the first, first, first, and first 15 /// lanes in this vector, respectively. 16 #[inline] xxxx(self) -> F32x417 pub fn xxxx(self) -> F32x4 { 18 F32x4([self[0], self[0], self[0], self[0]]) 19 } 20 21 /// Constructs a new vector from the second, first, first, and first 22 /// lanes in this vector, respectively. 23 #[inline] yxxx(self) -> F32x424 pub fn yxxx(self) -> F32x4 { 25 F32x4([self[1], self[0], self[0], self[0]]) 26 } 27 28 /// Constructs a new vector from the third, first, first, and first 29 /// lanes in this vector, respectively. 30 #[inline] zxxx(self) -> F32x431 pub fn zxxx(self) -> F32x4 { 32 F32x4([self[2], self[0], self[0], self[0]]) 33 } 34 35 /// Constructs a new vector from the fourth, first, first, and first 36 /// lanes in this vector, respectively. 37 #[inline] wxxx(self) -> F32x438 pub fn wxxx(self) -> F32x4 { 39 F32x4([self[3], self[0], self[0], self[0]]) 40 } 41 42 /// Constructs a new vector from the first, second, first, and first 43 /// lanes in this vector, respectively. 44 #[inline] xyxx(self) -> F32x445 pub fn xyxx(self) -> F32x4 { 46 F32x4([self[0], self[1], self[0], self[0]]) 47 } 48 49 /// Constructs a new vector from the second, second, first, and first 50 /// lanes in this vector, respectively. 51 #[inline] yyxx(self) -> F32x452 pub fn yyxx(self) -> F32x4 { 53 F32x4([self[1], self[1], self[0], self[0]]) 54 } 55 56 /// Constructs a new vector from the third, second, first, and first 57 /// lanes in this vector, respectively. 58 #[inline] zyxx(self) -> F32x459 pub fn zyxx(self) -> F32x4 { 60 F32x4([self[2], self[1], self[0], self[0]]) 61 } 62 63 /// Constructs a new vector from the fourth, second, first, and first 64 /// lanes in this vector, respectively. 65 #[inline] wyxx(self) -> F32x466 pub fn wyxx(self) -> F32x4 { 67 F32x4([self[3], self[1], self[0], self[0]]) 68 } 69 70 /// Constructs a new vector from the first, third, first, and first 71 /// lanes in this vector, respectively. 72 #[inline] xzxx(self) -> F32x473 pub fn xzxx(self) -> F32x4 { 74 F32x4([self[0], self[2], self[0], self[0]]) 75 } 76 77 /// Constructs a new vector from the second, third, first, and first 78 /// lanes in this vector, respectively. 79 #[inline] yzxx(self) -> F32x480 pub fn yzxx(self) -> F32x4 { 81 F32x4([self[1], self[2], self[0], self[0]]) 82 } 83 84 /// Constructs a new vector from the third, third, first, and first 85 /// lanes in this vector, respectively. 86 #[inline] zzxx(self) -> F32x487 pub fn zzxx(self) -> F32x4 { 88 F32x4([self[2], self[2], self[0], self[0]]) 89 } 90 91 /// Constructs a new vector from the fourth, third, first, and first 92 /// lanes in this vector, respectively. 93 #[inline] wzxx(self) -> F32x494 pub fn wzxx(self) -> F32x4 { 95 F32x4([self[3], self[2], self[0], self[0]]) 96 } 97 98 /// Constructs a new vector from the first, fourth, first, and first 99 /// lanes in this vector, respectively. 100 #[inline] xwxx(self) -> F32x4101 pub fn xwxx(self) -> F32x4 { 102 F32x4([self[0], self[3], self[0], self[0]]) 103 } 104 105 /// Constructs a new vector from the second, fourth, first, and first 106 /// lanes in this vector, respectively. 107 #[inline] ywxx(self) -> F32x4108 pub fn ywxx(self) -> F32x4 { 109 F32x4([self[1], self[3], self[0], self[0]]) 110 } 111 112 /// Constructs a new vector from the third, fourth, first, and first 113 /// lanes in this vector, respectively. 114 #[inline] zwxx(self) -> F32x4115 pub fn zwxx(self) -> F32x4 { 116 F32x4([self[2], self[3], self[0], self[0]]) 117 } 118 119 /// Constructs a new vector from the fourth, fourth, first, and first 120 /// lanes in this vector, respectively. 121 #[inline] wwxx(self) -> F32x4122 pub fn wwxx(self) -> F32x4 { 123 F32x4([self[3], self[3], self[0], self[0]]) 124 } 125 126 /// Constructs a new vector from the first, first, second, and first 127 /// lanes in this vector, respectively. 128 #[inline] xxyx(self) -> F32x4129 pub fn xxyx(self) -> F32x4 { 130 F32x4([self[0], self[0], self[1], self[0]]) 131 } 132 133 /// Constructs a new vector from the second, first, second, and first 134 /// lanes in this vector, respectively. 135 #[inline] yxyx(self) -> F32x4136 pub fn yxyx(self) -> F32x4 { 137 F32x4([self[1], self[0], self[1], self[0]]) 138 } 139 140 /// Constructs a new vector from the third, first, second, and first 141 /// lanes in this vector, respectively. 142 #[inline] zxyx(self) -> F32x4143 pub fn zxyx(self) -> F32x4 { 144 F32x4([self[2], self[0], self[1], self[0]]) 145 } 146 147 /// Constructs a new vector from the fourth, first, second, and first 148 /// lanes in this vector, respectively. 149 #[inline] wxyx(self) -> F32x4150 pub fn wxyx(self) -> F32x4 { 151 F32x4([self[3], self[0], self[1], self[0]]) 152 } 153 154 /// Constructs a new vector from the first, second, second, and first 155 /// lanes in this vector, respectively. 156 #[inline] xyyx(self) -> F32x4157 pub fn xyyx(self) -> F32x4 { 158 F32x4([self[0], self[1], self[1], self[0]]) 159 } 160 161 /// Constructs a new vector from the second, second, second, and first 162 /// lanes in this vector, respectively. 163 #[inline] yyyx(self) -> F32x4164 pub fn yyyx(self) -> F32x4 { 165 F32x4([self[1], self[1], self[1], self[0]]) 166 } 167 168 /// Constructs a new vector from the third, second, second, and first 169 /// lanes in this vector, respectively. 170 #[inline] zyyx(self) -> F32x4171 pub fn zyyx(self) -> F32x4 { 172 F32x4([self[2], self[1], self[1], self[0]]) 173 } 174 175 /// Constructs a new vector from the fourth, second, second, and first 176 /// lanes in this vector, respectively. 177 #[inline] wyyx(self) -> F32x4178 pub fn wyyx(self) -> F32x4 { 179 F32x4([self[3], self[1], self[1], self[0]]) 180 } 181 182 /// Constructs a new vector from the first, third, second, and first 183 /// lanes in this vector, respectively. 184 #[inline] xzyx(self) -> F32x4185 pub fn xzyx(self) -> F32x4 { 186 F32x4([self[0], self[2], self[1], self[0]]) 187 } 188 189 /// Constructs a new vector from the second, third, second, and first 190 /// lanes in this vector, respectively. 191 #[inline] yzyx(self) -> F32x4192 pub fn yzyx(self) -> F32x4 { 193 F32x4([self[1], self[2], self[1], self[0]]) 194 } 195 196 /// Constructs a new vector from the third, third, second, and first 197 /// lanes in this vector, respectively. 198 #[inline] zzyx(self) -> F32x4199 pub fn zzyx(self) -> F32x4 { 200 F32x4([self[2], self[2], self[1], self[0]]) 201 } 202 203 /// Constructs a new vector from the fourth, third, second, and first 204 /// lanes in this vector, respectively. 205 #[inline] wzyx(self) -> F32x4206 pub fn wzyx(self) -> F32x4 { 207 F32x4([self[3], self[2], self[1], self[0]]) 208 } 209 210 /// Constructs a new vector from the first, fourth, second, and first 211 /// lanes in this vector, respectively. 212 #[inline] xwyx(self) -> F32x4213 pub fn xwyx(self) -> F32x4 { 214 F32x4([self[0], self[3], self[1], self[0]]) 215 } 216 217 /// Constructs a new vector from the second, fourth, second, and first 218 /// lanes in this vector, respectively. 219 #[inline] ywyx(self) -> F32x4220 pub fn ywyx(self) -> F32x4 { 221 F32x4([self[1], self[3], self[1], self[0]]) 222 } 223 224 /// Constructs a new vector from the third, fourth, second, and first 225 /// lanes in this vector, respectively. 226 #[inline] zwyx(self) -> F32x4227 pub fn zwyx(self) -> F32x4 { 228 F32x4([self[2], self[3], self[1], self[0]]) 229 } 230 231 /// Constructs a new vector from the fourth, fourth, second, and first 232 /// lanes in this vector, respectively. 233 #[inline] wwyx(self) -> F32x4234 pub fn wwyx(self) -> F32x4 { 235 F32x4([self[3], self[3], self[1], self[0]]) 236 } 237 238 /// Constructs a new vector from the first, first, third, and first 239 /// lanes in this vector, respectively. 240 #[inline] xxzx(self) -> F32x4241 pub fn xxzx(self) -> F32x4 { 242 F32x4([self[0], self[0], self[2], self[0]]) 243 } 244 245 /// Constructs a new vector from the second, first, third, and first 246 /// lanes in this vector, respectively. 247 #[inline] yxzx(self) -> F32x4248 pub fn yxzx(self) -> F32x4 { 249 F32x4([self[1], self[0], self[2], self[0]]) 250 } 251 252 /// Constructs a new vector from the third, first, third, and first 253 /// lanes in this vector, respectively. 254 #[inline] zxzx(self) -> F32x4255 pub fn zxzx(self) -> F32x4 { 256 F32x4([self[2], self[0], self[2], self[0]]) 257 } 258 259 /// Constructs a new vector from the fourth, first, third, and first 260 /// lanes in this vector, respectively. 261 #[inline] wxzx(self) -> F32x4262 pub fn wxzx(self) -> F32x4 { 263 F32x4([self[3], self[0], self[2], self[0]]) 264 } 265 266 /// Constructs a new vector from the first, second, third, and first 267 /// lanes in this vector, respectively. 268 #[inline] xyzx(self) -> F32x4269 pub fn xyzx(self) -> F32x4 { 270 F32x4([self[0], self[1], self[2], self[0]]) 271 } 272 273 /// Constructs a new vector from the second, second, third, and first 274 /// lanes in this vector, respectively. 275 #[inline] yyzx(self) -> F32x4276 pub fn yyzx(self) -> F32x4 { 277 F32x4([self[1], self[1], self[2], self[0]]) 278 } 279 280 /// Constructs a new vector from the third, second, third, and first 281 /// lanes in this vector, respectively. 282 #[inline] zyzx(self) -> F32x4283 pub fn zyzx(self) -> F32x4 { 284 F32x4([self[2], self[1], self[2], self[0]]) 285 } 286 287 /// Constructs a new vector from the fourth, second, third, and first 288 /// lanes in this vector, respectively. 289 #[inline] wyzx(self) -> F32x4290 pub fn wyzx(self) -> F32x4 { 291 F32x4([self[3], self[1], self[2], self[0]]) 292 } 293 294 /// Constructs a new vector from the first, third, third, and first 295 /// lanes in this vector, respectively. 296 #[inline] xzzx(self) -> F32x4297 pub fn xzzx(self) -> F32x4 { 298 F32x4([self[0], self[2], self[2], self[0]]) 299 } 300 301 /// Constructs a new vector from the second, third, third, and first 302 /// lanes in this vector, respectively. 303 #[inline] yzzx(self) -> F32x4304 pub fn yzzx(self) -> F32x4 { 305 F32x4([self[1], self[2], self[2], self[0]]) 306 } 307 308 /// Constructs a new vector from the third, third, third, and first 309 /// lanes in this vector, respectively. 310 #[inline] zzzx(self) -> F32x4311 pub fn zzzx(self) -> F32x4 { 312 F32x4([self[2], self[2], self[2], self[0]]) 313 } 314 315 /// Constructs a new vector from the fourth, third, third, and first 316 /// lanes in this vector, respectively. 317 #[inline] wzzx(self) -> F32x4318 pub fn wzzx(self) -> F32x4 { 319 F32x4([self[3], self[2], self[2], self[0]]) 320 } 321 322 /// Constructs a new vector from the first, fourth, third, and first 323 /// lanes in this vector, respectively. 324 #[inline] xwzx(self) -> F32x4325 pub fn xwzx(self) -> F32x4 { 326 F32x4([self[0], self[3], self[2], self[0]]) 327 } 328 329 /// Constructs a new vector from the second, fourth, third, and first 330 /// lanes in this vector, respectively. 331 #[inline] ywzx(self) -> F32x4332 pub fn ywzx(self) -> F32x4 { 333 F32x4([self[1], self[3], self[2], self[0]]) 334 } 335 336 /// Constructs a new vector from the third, fourth, third, and first 337 /// lanes in this vector, respectively. 338 #[inline] zwzx(self) -> F32x4339 pub fn zwzx(self) -> F32x4 { 340 F32x4([self[2], self[3], self[2], self[0]]) 341 } 342 343 /// Constructs a new vector from the fourth, fourth, third, and first 344 /// lanes in this vector, respectively. 345 #[inline] wwzx(self) -> F32x4346 pub fn wwzx(self) -> F32x4 { 347 F32x4([self[3], self[3], self[2], self[0]]) 348 } 349 350 /// Constructs a new vector from the first, first, fourth, and first 351 /// lanes in this vector, respectively. 352 #[inline] xxwx(self) -> F32x4353 pub fn xxwx(self) -> F32x4 { 354 F32x4([self[0], self[0], self[3], self[0]]) 355 } 356 357 /// Constructs a new vector from the second, first, fourth, and first 358 /// lanes in this vector, respectively. 359 #[inline] yxwx(self) -> F32x4360 pub fn yxwx(self) -> F32x4 { 361 F32x4([self[1], self[0], self[3], self[0]]) 362 } 363 364 /// Constructs a new vector from the third, first, fourth, and first 365 /// lanes in this vector, respectively. 366 #[inline] zxwx(self) -> F32x4367 pub fn zxwx(self) -> F32x4 { 368 F32x4([self[2], self[0], self[3], self[0]]) 369 } 370 371 /// Constructs a new vector from the fourth, first, fourth, and first 372 /// lanes in this vector, respectively. 373 #[inline] wxwx(self) -> F32x4374 pub fn wxwx(self) -> F32x4 { 375 F32x4([self[3], self[0], self[3], self[0]]) 376 } 377 378 /// Constructs a new vector from the first, second, fourth, and first 379 /// lanes in this vector, respectively. 380 #[inline] xywx(self) -> F32x4381 pub fn xywx(self) -> F32x4 { 382 F32x4([self[0], self[1], self[3], self[0]]) 383 } 384 385 /// Constructs a new vector from the second, second, fourth, and first 386 /// lanes in this vector, respectively. 387 #[inline] yywx(self) -> F32x4388 pub fn yywx(self) -> F32x4 { 389 F32x4([self[1], self[1], self[3], self[0]]) 390 } 391 392 /// Constructs a new vector from the third, second, fourth, and first 393 /// lanes in this vector, respectively. 394 #[inline] zywx(self) -> F32x4395 pub fn zywx(self) -> F32x4 { 396 F32x4([self[2], self[1], self[3], self[0]]) 397 } 398 399 /// Constructs a new vector from the fourth, second, fourth, and first 400 /// lanes in this vector, respectively. 401 #[inline] wywx(self) -> F32x4402 pub fn wywx(self) -> F32x4 { 403 F32x4([self[3], self[1], self[3], self[0]]) 404 } 405 406 /// Constructs a new vector from the first, third, fourth, and first 407 /// lanes in this vector, respectively. 408 #[inline] xzwx(self) -> F32x4409 pub fn xzwx(self) -> F32x4 { 410 F32x4([self[0], self[2], self[3], self[0]]) 411 } 412 413 /// Constructs a new vector from the second, third, fourth, and first 414 /// lanes in this vector, respectively. 415 #[inline] yzwx(self) -> F32x4416 pub fn yzwx(self) -> F32x4 { 417 F32x4([self[1], self[2], self[3], self[0]]) 418 } 419 420 /// Constructs a new vector from the third, third, fourth, and first 421 /// lanes in this vector, respectively. 422 #[inline] zzwx(self) -> F32x4423 pub fn zzwx(self) -> F32x4 { 424 F32x4([self[2], self[2], self[3], self[0]]) 425 } 426 427 /// Constructs a new vector from the fourth, third, fourth, and first 428 /// lanes in this vector, respectively. 429 #[inline] wzwx(self) -> F32x4430 pub fn wzwx(self) -> F32x4 { 431 F32x4([self[3], self[2], self[3], self[0]]) 432 } 433 434 /// Constructs a new vector from the first, fourth, fourth, and first 435 /// lanes in this vector, respectively. 436 #[inline] xwwx(self) -> F32x4437 pub fn xwwx(self) -> F32x4 { 438 F32x4([self[0], self[3], self[3], self[0]]) 439 } 440 441 /// Constructs a new vector from the second, fourth, fourth, and first 442 /// lanes in this vector, respectively. 443 #[inline] ywwx(self) -> F32x4444 pub fn ywwx(self) -> F32x4 { 445 F32x4([self[1], self[3], self[3], self[0]]) 446 } 447 448 /// Constructs a new vector from the third, fourth, fourth, and first 449 /// lanes in this vector, respectively. 450 #[inline] zwwx(self) -> F32x4451 pub fn zwwx(self) -> F32x4 { 452 F32x4([self[2], self[3], self[3], self[0]]) 453 } 454 455 /// Constructs a new vector from the fourth, fourth, fourth, and first 456 /// lanes in this vector, respectively. 457 #[inline] wwwx(self) -> F32x4458 pub fn wwwx(self) -> F32x4 { 459 F32x4([self[3], self[3], self[3], self[0]]) 460 } 461 462 /// Constructs a new vector from the first, first, first, and second 463 /// lanes in this vector, respectively. 464 #[inline] xxxy(self) -> F32x4465 pub fn xxxy(self) -> F32x4 { 466 F32x4([self[0], self[0], self[0], self[1]]) 467 } 468 469 /// Constructs a new vector from the second, first, first, and second 470 /// lanes in this vector, respectively. 471 #[inline] yxxy(self) -> F32x4472 pub fn yxxy(self) -> F32x4 { 473 F32x4([self[1], self[0], self[0], self[1]]) 474 } 475 476 /// Constructs a new vector from the third, first, first, and second 477 /// lanes in this vector, respectively. 478 #[inline] zxxy(self) -> F32x4479 pub fn zxxy(self) -> F32x4 { 480 F32x4([self[2], self[0], self[0], self[1]]) 481 } 482 483 /// Constructs a new vector from the fourth, first, first, and second 484 /// lanes in this vector, respectively. 485 #[inline] wxxy(self) -> F32x4486 pub fn wxxy(self) -> F32x4 { 487 F32x4([self[3], self[0], self[0], self[1]]) 488 } 489 490 /// Constructs a new vector from the first, second, first, and second 491 /// lanes in this vector, respectively. 492 #[inline] xyxy(self) -> F32x4493 pub fn xyxy(self) -> F32x4 { 494 F32x4([self[0], self[1], self[0], self[1]]) 495 } 496 497 /// Constructs a new vector from the second, second, first, and second 498 /// lanes in this vector, respectively. 499 #[inline] yyxy(self) -> F32x4500 pub fn yyxy(self) -> F32x4 { 501 F32x4([self[1], self[1], self[0], self[1]]) 502 } 503 504 /// Constructs a new vector from the third, second, first, and second 505 /// lanes in this vector, respectively. 506 #[inline] zyxy(self) -> F32x4507 pub fn zyxy(self) -> F32x4 { 508 F32x4([self[2], self[1], self[0], self[1]]) 509 } 510 511 /// Constructs a new vector from the fourth, second, first, and second 512 /// lanes in this vector, respectively. 513 #[inline] wyxy(self) -> F32x4514 pub fn wyxy(self) -> F32x4 { 515 F32x4([self[3], self[1], self[0], self[1]]) 516 } 517 518 /// Constructs a new vector from the first, third, first, and second 519 /// lanes in this vector, respectively. 520 #[inline] xzxy(self) -> F32x4521 pub fn xzxy(self) -> F32x4 { 522 F32x4([self[0], self[2], self[0], self[1]]) 523 } 524 525 /// Constructs a new vector from the second, third, first, and second 526 /// lanes in this vector, respectively. 527 #[inline] yzxy(self) -> F32x4528 pub fn yzxy(self) -> F32x4 { 529 F32x4([self[1], self[2], self[0], self[1]]) 530 } 531 532 /// Constructs a new vector from the third, third, first, and second 533 /// lanes in this vector, respectively. 534 #[inline] zzxy(self) -> F32x4535 pub fn zzxy(self) -> F32x4 { 536 F32x4([self[2], self[2], self[0], self[1]]) 537 } 538 539 /// Constructs a new vector from the fourth, third, first, and second 540 /// lanes in this vector, respectively. 541 #[inline] wzxy(self) -> F32x4542 pub fn wzxy(self) -> F32x4 { 543 F32x4([self[3], self[2], self[0], self[1]]) 544 } 545 546 /// Constructs a new vector from the first, fourth, first, and second 547 /// lanes in this vector, respectively. 548 #[inline] xwxy(self) -> F32x4549 pub fn xwxy(self) -> F32x4 { 550 F32x4([self[0], self[3], self[0], self[1]]) 551 } 552 553 /// Constructs a new vector from the second, fourth, first, and second 554 /// lanes in this vector, respectively. 555 #[inline] ywxy(self) -> F32x4556 pub fn ywxy(self) -> F32x4 { 557 F32x4([self[1], self[3], self[0], self[1]]) 558 } 559 560 /// Constructs a new vector from the third, fourth, first, and second 561 /// lanes in this vector, respectively. 562 #[inline] zwxy(self) -> F32x4563 pub fn zwxy(self) -> F32x4 { 564 F32x4([self[2], self[3], self[0], self[1]]) 565 } 566 567 /// Constructs a new vector from the fourth, fourth, first, and second 568 /// lanes in this vector, respectively. 569 #[inline] wwxy(self) -> F32x4570 pub fn wwxy(self) -> F32x4 { 571 F32x4([self[3], self[3], self[0], self[1]]) 572 } 573 574 /// Constructs a new vector from the first, first, second, and second 575 /// lanes in this vector, respectively. 576 #[inline] xxyy(self) -> F32x4577 pub fn xxyy(self) -> F32x4 { 578 F32x4([self[0], self[0], self[1], self[1]]) 579 } 580 581 /// Constructs a new vector from the second, first, second, and second 582 /// lanes in this vector, respectively. 583 #[inline] yxyy(self) -> F32x4584 pub fn yxyy(self) -> F32x4 { 585 F32x4([self[1], self[0], self[1], self[1]]) 586 } 587 588 /// Constructs a new vector from the third, first, second, and second 589 /// lanes in this vector, respectively. 590 #[inline] zxyy(self) -> F32x4591 pub fn zxyy(self) -> F32x4 { 592 F32x4([self[2], self[0], self[1], self[1]]) 593 } 594 595 /// Constructs a new vector from the fourth, first, second, and second 596 /// lanes in this vector, respectively. 597 #[inline] wxyy(self) -> F32x4598 pub fn wxyy(self) -> F32x4 { 599 F32x4([self[3], self[0], self[1], self[1]]) 600 } 601 602 /// Constructs a new vector from the first, second, second, and second 603 /// lanes in this vector, respectively. 604 #[inline] xyyy(self) -> F32x4605 pub fn xyyy(self) -> F32x4 { 606 F32x4([self[0], self[1], self[1], self[1]]) 607 } 608 609 /// Constructs a new vector from the second, second, second, and second 610 /// lanes in this vector, respectively. 611 #[inline] yyyy(self) -> F32x4612 pub fn yyyy(self) -> F32x4 { 613 F32x4([self[1], self[1], self[1], self[1]]) 614 } 615 616 /// Constructs a new vector from the third, second, second, and second 617 /// lanes in this vector, respectively. 618 #[inline] zyyy(self) -> F32x4619 pub fn zyyy(self) -> F32x4 { 620 F32x4([self[2], self[1], self[1], self[1]]) 621 } 622 623 /// Constructs a new vector from the fourth, second, second, and second 624 /// lanes in this vector, respectively. 625 #[inline] wyyy(self) -> F32x4626 pub fn wyyy(self) -> F32x4 { 627 F32x4([self[3], self[1], self[1], self[1]]) 628 } 629 630 /// Constructs a new vector from the first, third, second, and second 631 /// lanes in this vector, respectively. 632 #[inline] xzyy(self) -> F32x4633 pub fn xzyy(self) -> F32x4 { 634 F32x4([self[0], self[2], self[1], self[1]]) 635 } 636 637 /// Constructs a new vector from the second, third, second, and second 638 /// lanes in this vector, respectively. 639 #[inline] yzyy(self) -> F32x4640 pub fn yzyy(self) -> F32x4 { 641 F32x4([self[1], self[2], self[1], self[1]]) 642 } 643 644 /// Constructs a new vector from the third, third, second, and second 645 /// lanes in this vector, respectively. 646 #[inline] zzyy(self) -> F32x4647 pub fn zzyy(self) -> F32x4 { 648 F32x4([self[2], self[2], self[1], self[1]]) 649 } 650 651 /// Constructs a new vector from the fourth, third, second, and second 652 /// lanes in this vector, respectively. 653 #[inline] wzyy(self) -> F32x4654 pub fn wzyy(self) -> F32x4 { 655 F32x4([self[3], self[2], self[1], self[1]]) 656 } 657 658 /// Constructs a new vector from the first, fourth, second, and second 659 /// lanes in this vector, respectively. 660 #[inline] xwyy(self) -> F32x4661 pub fn xwyy(self) -> F32x4 { 662 F32x4([self[0], self[3], self[1], self[1]]) 663 } 664 665 /// Constructs a new vector from the second, fourth, second, and second 666 /// lanes in this vector, respectively. 667 #[inline] ywyy(self) -> F32x4668 pub fn ywyy(self) -> F32x4 { 669 F32x4([self[1], self[3], self[1], self[1]]) 670 } 671 672 /// Constructs a new vector from the third, fourth, second, and second 673 /// lanes in this vector, respectively. 674 #[inline] zwyy(self) -> F32x4675 pub fn zwyy(self) -> F32x4 { 676 F32x4([self[2], self[3], self[1], self[1]]) 677 } 678 679 /// Constructs a new vector from the fourth, fourth, second, and second 680 /// lanes in this vector, respectively. 681 #[inline] wwyy(self) -> F32x4682 pub fn wwyy(self) -> F32x4 { 683 F32x4([self[3], self[3], self[1], self[1]]) 684 } 685 686 /// Constructs a new vector from the first, first, third, and second 687 /// lanes in this vector, respectively. 688 #[inline] xxzy(self) -> F32x4689 pub fn xxzy(self) -> F32x4 { 690 F32x4([self[0], self[0], self[2], self[1]]) 691 } 692 693 /// Constructs a new vector from the second, first, third, and second 694 /// lanes in this vector, respectively. 695 #[inline] yxzy(self) -> F32x4696 pub fn yxzy(self) -> F32x4 { 697 F32x4([self[1], self[0], self[2], self[1]]) 698 } 699 700 /// Constructs a new vector from the third, first, third, and second 701 /// lanes in this vector, respectively. 702 #[inline] zxzy(self) -> F32x4703 pub fn zxzy(self) -> F32x4 { 704 F32x4([self[2], self[0], self[2], self[1]]) 705 } 706 707 /// Constructs a new vector from the fourth, first, third, and second 708 /// lanes in this vector, respectively. 709 #[inline] wxzy(self) -> F32x4710 pub fn wxzy(self) -> F32x4 { 711 F32x4([self[3], self[0], self[2], self[1]]) 712 } 713 714 /// Constructs a new vector from the first, second, third, and second 715 /// lanes in this vector, respectively. 716 #[inline] xyzy(self) -> F32x4717 pub fn xyzy(self) -> F32x4 { 718 F32x4([self[0], self[1], self[2], self[1]]) 719 } 720 721 /// Constructs a new vector from the second, second, third, and second 722 /// lanes in this vector, respectively. 723 #[inline] yyzy(self) -> F32x4724 pub fn yyzy(self) -> F32x4 { 725 F32x4([self[1], self[1], self[2], self[1]]) 726 } 727 728 /// Constructs a new vector from the third, second, third, and second 729 /// lanes in this vector, respectively. 730 #[inline] zyzy(self) -> F32x4731 pub fn zyzy(self) -> F32x4 { 732 F32x4([self[2], self[1], self[2], self[1]]) 733 } 734 735 /// Constructs a new vector from the fourth, second, third, and second 736 /// lanes in this vector, respectively. 737 #[inline] wyzy(self) -> F32x4738 pub fn wyzy(self) -> F32x4 { 739 F32x4([self[3], self[1], self[2], self[1]]) 740 } 741 742 /// Constructs a new vector from the first, third, third, and second 743 /// lanes in this vector, respectively. 744 #[inline] xzzy(self) -> F32x4745 pub fn xzzy(self) -> F32x4 { 746 F32x4([self[0], self[2], self[2], self[1]]) 747 } 748 749 /// Constructs a new vector from the second, third, third, and second 750 /// lanes in this vector, respectively. 751 #[inline] yzzy(self) -> F32x4752 pub fn yzzy(self) -> F32x4 { 753 F32x4([self[1], self[2], self[2], self[1]]) 754 } 755 756 /// Constructs a new vector from the third, third, third, and second 757 /// lanes in this vector, respectively. 758 #[inline] zzzy(self) -> F32x4759 pub fn zzzy(self) -> F32x4 { 760 F32x4([self[2], self[2], self[2], self[1]]) 761 } 762 763 /// Constructs a new vector from the fourth, third, third, and second 764 /// lanes in this vector, respectively. 765 #[inline] wzzy(self) -> F32x4766 pub fn wzzy(self) -> F32x4 { 767 F32x4([self[3], self[2], self[2], self[1]]) 768 } 769 770 /// Constructs a new vector from the first, fourth, third, and second 771 /// lanes in this vector, respectively. 772 #[inline] xwzy(self) -> F32x4773 pub fn xwzy(self) -> F32x4 { 774 F32x4([self[0], self[3], self[2], self[1]]) 775 } 776 777 /// Constructs a new vector from the second, fourth, third, and second 778 /// lanes in this vector, respectively. 779 #[inline] ywzy(self) -> F32x4780 pub fn ywzy(self) -> F32x4 { 781 F32x4([self[1], self[3], self[2], self[1]]) 782 } 783 784 /// Constructs a new vector from the third, fourth, third, and second 785 /// lanes in this vector, respectively. 786 #[inline] zwzy(self) -> F32x4787 pub fn zwzy(self) -> F32x4 { 788 F32x4([self[2], self[3], self[2], self[1]]) 789 } 790 791 /// Constructs a new vector from the fourth, fourth, third, and second 792 /// lanes in this vector, respectively. 793 #[inline] wwzy(self) -> F32x4794 pub fn wwzy(self) -> F32x4 { 795 F32x4([self[3], self[3], self[2], self[1]]) 796 } 797 798 /// Constructs a new vector from the first, first, fourth, and second 799 /// lanes in this vector, respectively. 800 #[inline] xxwy(self) -> F32x4801 pub fn xxwy(self) -> F32x4 { 802 F32x4([self[0], self[0], self[3], self[1]]) 803 } 804 805 /// Constructs a new vector from the second, first, fourth, and second 806 /// lanes in this vector, respectively. 807 #[inline] yxwy(self) -> F32x4808 pub fn yxwy(self) -> F32x4 { 809 F32x4([self[1], self[0], self[3], self[1]]) 810 } 811 812 /// Constructs a new vector from the third, first, fourth, and second 813 /// lanes in this vector, respectively. 814 #[inline] zxwy(self) -> F32x4815 pub fn zxwy(self) -> F32x4 { 816 F32x4([self[2], self[0], self[3], self[1]]) 817 } 818 819 /// Constructs a new vector from the fourth, first, fourth, and second 820 /// lanes in this vector, respectively. 821 #[inline] wxwy(self) -> F32x4822 pub fn wxwy(self) -> F32x4 { 823 F32x4([self[3], self[0], self[3], self[1]]) 824 } 825 826 /// Constructs a new vector from the first, second, fourth, and second 827 /// lanes in this vector, respectively. 828 #[inline] xywy(self) -> F32x4829 pub fn xywy(self) -> F32x4 { 830 F32x4([self[0], self[1], self[3], self[1]]) 831 } 832 833 /// Constructs a new vector from the second, second, fourth, and second 834 /// lanes in this vector, respectively. 835 #[inline] yywy(self) -> F32x4836 pub fn yywy(self) -> F32x4 { 837 F32x4([self[1], self[1], self[3], self[1]]) 838 } 839 840 /// Constructs a new vector from the third, second, fourth, and second 841 /// lanes in this vector, respectively. 842 #[inline] zywy(self) -> F32x4843 pub fn zywy(self) -> F32x4 { 844 F32x4([self[2], self[1], self[3], self[1]]) 845 } 846 847 /// Constructs a new vector from the fourth, second, fourth, and second 848 /// lanes in this vector, respectively. 849 #[inline] wywy(self) -> F32x4850 pub fn wywy(self) -> F32x4 { 851 F32x4([self[3], self[1], self[3], self[1]]) 852 } 853 854 /// Constructs a new vector from the first, third, fourth, and second 855 /// lanes in this vector, respectively. 856 #[inline] xzwy(self) -> F32x4857 pub fn xzwy(self) -> F32x4 { 858 F32x4([self[0], self[2], self[3], self[1]]) 859 } 860 861 /// Constructs a new vector from the second, third, fourth, and second 862 /// lanes in this vector, respectively. 863 #[inline] yzwy(self) -> F32x4864 pub fn yzwy(self) -> F32x4 { 865 F32x4([self[1], self[2], self[3], self[1]]) 866 } 867 868 /// Constructs a new vector from the third, third, fourth, and second 869 /// lanes in this vector, respectively. 870 #[inline] zzwy(self) -> F32x4871 pub fn zzwy(self) -> F32x4 { 872 F32x4([self[2], self[2], self[3], self[1]]) 873 } 874 875 /// Constructs a new vector from the fourth, third, fourth, and second 876 /// lanes in this vector, respectively. 877 #[inline] wzwy(self) -> F32x4878 pub fn wzwy(self) -> F32x4 { 879 F32x4([self[3], self[2], self[3], self[1]]) 880 } 881 882 /// Constructs a new vector from the first, fourth, fourth, and second 883 /// lanes in this vector, respectively. 884 #[inline] xwwy(self) -> F32x4885 pub fn xwwy(self) -> F32x4 { 886 F32x4([self[0], self[3], self[3], self[1]]) 887 } 888 889 /// Constructs a new vector from the second, fourth, fourth, and second 890 /// lanes in this vector, respectively. 891 #[inline] ywwy(self) -> F32x4892 pub fn ywwy(self) -> F32x4 { 893 F32x4([self[1], self[3], self[3], self[1]]) 894 } 895 896 /// Constructs a new vector from the third, fourth, fourth, and second 897 /// lanes in this vector, respectively. 898 #[inline] zwwy(self) -> F32x4899 pub fn zwwy(self) -> F32x4 { 900 F32x4([self[2], self[3], self[3], self[1]]) 901 } 902 903 /// Constructs a new vector from the fourth, fourth, fourth, and second 904 /// lanes in this vector, respectively. 905 #[inline] wwwy(self) -> F32x4906 pub fn wwwy(self) -> F32x4 { 907 F32x4([self[3], self[3], self[3], self[1]]) 908 } 909 910 /// Constructs a new vector from the first, first, first, and third 911 /// lanes in this vector, respectively. 912 #[inline] xxxz(self) -> F32x4913 pub fn xxxz(self) -> F32x4 { 914 F32x4([self[0], self[0], self[0], self[2]]) 915 } 916 917 /// Constructs a new vector from the second, first, first, and third 918 /// lanes in this vector, respectively. 919 #[inline] yxxz(self) -> F32x4920 pub fn yxxz(self) -> F32x4 { 921 F32x4([self[1], self[0], self[0], self[2]]) 922 } 923 924 /// Constructs a new vector from the third, first, first, and third 925 /// lanes in this vector, respectively. 926 #[inline] zxxz(self) -> F32x4927 pub fn zxxz(self) -> F32x4 { 928 F32x4([self[2], self[0], self[0], self[2]]) 929 } 930 931 /// Constructs a new vector from the fourth, first, first, and third 932 /// lanes in this vector, respectively. 933 #[inline] wxxz(self) -> F32x4934 pub fn wxxz(self) -> F32x4 { 935 F32x4([self[3], self[0], self[0], self[2]]) 936 } 937 938 /// Constructs a new vector from the first, second, first, and third 939 /// lanes in this vector, respectively. 940 #[inline] xyxz(self) -> F32x4941 pub fn xyxz(self) -> F32x4 { 942 F32x4([self[0], self[1], self[0], self[2]]) 943 } 944 945 /// Constructs a new vector from the second, second, first, and third 946 /// lanes in this vector, respectively. 947 #[inline] yyxz(self) -> F32x4948 pub fn yyxz(self) -> F32x4 { 949 F32x4([self[1], self[1], self[0], self[2]]) 950 } 951 952 /// Constructs a new vector from the third, second, first, and third 953 /// lanes in this vector, respectively. 954 #[inline] zyxz(self) -> F32x4955 pub fn zyxz(self) -> F32x4 { 956 F32x4([self[2], self[1], self[0], self[2]]) 957 } 958 959 /// Constructs a new vector from the fourth, second, first, and third 960 /// lanes in this vector, respectively. 961 #[inline] wyxz(self) -> F32x4962 pub fn wyxz(self) -> F32x4 { 963 F32x4([self[3], self[1], self[0], self[2]]) 964 } 965 966 /// Constructs a new vector from the first, third, first, and third 967 /// lanes in this vector, respectively. 968 #[inline] xzxz(self) -> F32x4969 pub fn xzxz(self) -> F32x4 { 970 F32x4([self[0], self[2], self[0], self[2]]) 971 } 972 973 /// Constructs a new vector from the second, third, first, and third 974 /// lanes in this vector, respectively. 975 #[inline] yzxz(self) -> F32x4976 pub fn yzxz(self) -> F32x4 { 977 F32x4([self[1], self[2], self[0], self[2]]) 978 } 979 980 /// Constructs a new vector from the third, third, first, and third 981 /// lanes in this vector, respectively. 982 #[inline] zzxz(self) -> F32x4983 pub fn zzxz(self) -> F32x4 { 984 F32x4([self[2], self[2], self[0], self[2]]) 985 } 986 987 /// Constructs a new vector from the fourth, third, first, and third 988 /// lanes in this vector, respectively. 989 #[inline] wzxz(self) -> F32x4990 pub fn wzxz(self) -> F32x4 { 991 F32x4([self[3], self[2], self[0], self[2]]) 992 } 993 994 /// Constructs a new vector from the first, fourth, first, and third 995 /// lanes in this vector, respectively. 996 #[inline] xwxz(self) -> F32x4997 pub fn xwxz(self) -> F32x4 { 998 F32x4([self[0], self[3], self[0], self[2]]) 999 } 1000 1001 /// Constructs a new vector from the second, fourth, first, and third 1002 /// lanes in this vector, respectively. 1003 #[inline] ywxz(self) -> F32x41004 pub fn ywxz(self) -> F32x4 { 1005 F32x4([self[1], self[3], self[0], self[2]]) 1006 } 1007 1008 /// Constructs a new vector from the third, fourth, first, and third 1009 /// lanes in this vector, respectively. 1010 #[inline] zwxz(self) -> F32x41011 pub fn zwxz(self) -> F32x4 { 1012 F32x4([self[2], self[3], self[0], self[2]]) 1013 } 1014 1015 /// Constructs a new vector from the fourth, fourth, first, and third 1016 /// lanes in this vector, respectively. 1017 #[inline] wwxz(self) -> F32x41018 pub fn wwxz(self) -> F32x4 { 1019 F32x4([self[3], self[3], self[0], self[2]]) 1020 } 1021 1022 /// Constructs a new vector from the first, first, second, and third 1023 /// lanes in this vector, respectively. 1024 #[inline] xxyz(self) -> F32x41025 pub fn xxyz(self) -> F32x4 { 1026 F32x4([self[0], self[0], self[1], self[2]]) 1027 } 1028 1029 /// Constructs a new vector from the second, first, second, and third 1030 /// lanes in this vector, respectively. 1031 #[inline] yxyz(self) -> F32x41032 pub fn yxyz(self) -> F32x4 { 1033 F32x4([self[1], self[0], self[1], self[2]]) 1034 } 1035 1036 /// Constructs a new vector from the third, first, second, and third 1037 /// lanes in this vector, respectively. 1038 #[inline] zxyz(self) -> F32x41039 pub fn zxyz(self) -> F32x4 { 1040 F32x4([self[2], self[0], self[1], self[2]]) 1041 } 1042 1043 /// Constructs a new vector from the fourth, first, second, and third 1044 /// lanes in this vector, respectively. 1045 #[inline] wxyz(self) -> F32x41046 pub fn wxyz(self) -> F32x4 { 1047 F32x4([self[3], self[0], self[1], self[2]]) 1048 } 1049 1050 /// Constructs a new vector from the first, second, second, and third 1051 /// lanes in this vector, respectively. 1052 #[inline] xyyz(self) -> F32x41053 pub fn xyyz(self) -> F32x4 { 1054 F32x4([self[0], self[1], self[1], self[2]]) 1055 } 1056 1057 /// Constructs a new vector from the second, second, second, and third 1058 /// lanes in this vector, respectively. 1059 #[inline] yyyz(self) -> F32x41060 pub fn yyyz(self) -> F32x4 { 1061 F32x4([self[1], self[1], self[1], self[2]]) 1062 } 1063 1064 /// Constructs a new vector from the third, second, second, and third 1065 /// lanes in this vector, respectively. 1066 #[inline] zyyz(self) -> F32x41067 pub fn zyyz(self) -> F32x4 { 1068 F32x4([self[2], self[1], self[1], self[2]]) 1069 } 1070 1071 /// Constructs a new vector from the fourth, second, second, and third 1072 /// lanes in this vector, respectively. 1073 #[inline] wyyz(self) -> F32x41074 pub fn wyyz(self) -> F32x4 { 1075 F32x4([self[3], self[1], self[1], self[2]]) 1076 } 1077 1078 /// Constructs a new vector from the first, third, second, and third 1079 /// lanes in this vector, respectively. 1080 #[inline] xzyz(self) -> F32x41081 pub fn xzyz(self) -> F32x4 { 1082 F32x4([self[0], self[2], self[1], self[2]]) 1083 } 1084 1085 /// Constructs a new vector from the second, third, second, and third 1086 /// lanes in this vector, respectively. 1087 #[inline] yzyz(self) -> F32x41088 pub fn yzyz(self) -> F32x4 { 1089 F32x4([self[1], self[2], self[1], self[2]]) 1090 } 1091 1092 /// Constructs a new vector from the third, third, second, and third 1093 /// lanes in this vector, respectively. 1094 #[inline] zzyz(self) -> F32x41095 pub fn zzyz(self) -> F32x4 { 1096 F32x4([self[2], self[2], self[1], self[2]]) 1097 } 1098 1099 /// Constructs a new vector from the fourth, third, second, and third 1100 /// lanes in this vector, respectively. 1101 #[inline] wzyz(self) -> F32x41102 pub fn wzyz(self) -> F32x4 { 1103 F32x4([self[3], self[2], self[1], self[2]]) 1104 } 1105 1106 /// Constructs a new vector from the first, fourth, second, and third 1107 /// lanes in this vector, respectively. 1108 #[inline] xwyz(self) -> F32x41109 pub fn xwyz(self) -> F32x4 { 1110 F32x4([self[0], self[3], self[1], self[2]]) 1111 } 1112 1113 /// Constructs a new vector from the second, fourth, second, and third 1114 /// lanes in this vector, respectively. 1115 #[inline] ywyz(self) -> F32x41116 pub fn ywyz(self) -> F32x4 { 1117 F32x4([self[1], self[3], self[1], self[2]]) 1118 } 1119 1120 /// Constructs a new vector from the third, fourth, second, and third 1121 /// lanes in this vector, respectively. 1122 #[inline] zwyz(self) -> F32x41123 pub fn zwyz(self) -> F32x4 { 1124 F32x4([self[2], self[3], self[1], self[2]]) 1125 } 1126 1127 /// Constructs a new vector from the fourth, fourth, second, and third 1128 /// lanes in this vector, respectively. 1129 #[inline] wwyz(self) -> F32x41130 pub fn wwyz(self) -> F32x4 { 1131 F32x4([self[3], self[3], self[1], self[2]]) 1132 } 1133 1134 /// Constructs a new vector from the first, first, third, and third 1135 /// lanes in this vector, respectively. 1136 #[inline] xxzz(self) -> F32x41137 pub fn xxzz(self) -> F32x4 { 1138 F32x4([self[0], self[0], self[2], self[2]]) 1139 } 1140 1141 /// Constructs a new vector from the second, first, third, and third 1142 /// lanes in this vector, respectively. 1143 #[inline] yxzz(self) -> F32x41144 pub fn yxzz(self) -> F32x4 { 1145 F32x4([self[1], self[0], self[2], self[2]]) 1146 } 1147 1148 /// Constructs a new vector from the third, first, third, and third 1149 /// lanes in this vector, respectively. 1150 #[inline] zxzz(self) -> F32x41151 pub fn zxzz(self) -> F32x4 { 1152 F32x4([self[2], self[0], self[2], self[2]]) 1153 } 1154 1155 /// Constructs a new vector from the fourth, first, third, and third 1156 /// lanes in this vector, respectively. 1157 #[inline] wxzz(self) -> F32x41158 pub fn wxzz(self) -> F32x4 { 1159 F32x4([self[3], self[0], self[2], self[2]]) 1160 } 1161 1162 /// Constructs a new vector from the first, second, third, and third 1163 /// lanes in this vector, respectively. 1164 #[inline] xyzz(self) -> F32x41165 pub fn xyzz(self) -> F32x4 { 1166 F32x4([self[0], self[1], self[2], self[2]]) 1167 } 1168 1169 /// Constructs a new vector from the second, second, third, and third 1170 /// lanes in this vector, respectively. 1171 #[inline] yyzz(self) -> F32x41172 pub fn yyzz(self) -> F32x4 { 1173 F32x4([self[1], self[1], self[2], self[2]]) 1174 } 1175 1176 /// Constructs a new vector from the third, second, third, and third 1177 /// lanes in this vector, respectively. 1178 #[inline] zyzz(self) -> F32x41179 pub fn zyzz(self) -> F32x4 { 1180 F32x4([self[2], self[1], self[2], self[2]]) 1181 } 1182 1183 /// Constructs a new vector from the fourth, second, third, and third 1184 /// lanes in this vector, respectively. 1185 #[inline] wyzz(self) -> F32x41186 pub fn wyzz(self) -> F32x4 { 1187 F32x4([self[3], self[1], self[2], self[2]]) 1188 } 1189 1190 /// Constructs a new vector from the first, third, third, and third 1191 /// lanes in this vector, respectively. 1192 #[inline] xzzz(self) -> F32x41193 pub fn xzzz(self) -> F32x4 { 1194 F32x4([self[0], self[2], self[2], self[2]]) 1195 } 1196 1197 /// Constructs a new vector from the second, third, third, and third 1198 /// lanes in this vector, respectively. 1199 #[inline] yzzz(self) -> F32x41200 pub fn yzzz(self) -> F32x4 { 1201 F32x4([self[1], self[2], self[2], self[2]]) 1202 } 1203 1204 /// Constructs a new vector from the third, third, third, and third 1205 /// lanes in this vector, respectively. 1206 #[inline] zzzz(self) -> F32x41207 pub fn zzzz(self) -> F32x4 { 1208 F32x4([self[2], self[2], self[2], self[2]]) 1209 } 1210 1211 /// Constructs a new vector from the fourth, third, third, and third 1212 /// lanes in this vector, respectively. 1213 #[inline] wzzz(self) -> F32x41214 pub fn wzzz(self) -> F32x4 { 1215 F32x4([self[3], self[2], self[2], self[2]]) 1216 } 1217 1218 /// Constructs a new vector from the first, fourth, third, and third 1219 /// lanes in this vector, respectively. 1220 #[inline] xwzz(self) -> F32x41221 pub fn xwzz(self) -> F32x4 { 1222 F32x4([self[0], self[3], self[2], self[2]]) 1223 } 1224 1225 /// Constructs a new vector from the second, fourth, third, and third 1226 /// lanes in this vector, respectively. 1227 #[inline] ywzz(self) -> F32x41228 pub fn ywzz(self) -> F32x4 { 1229 F32x4([self[1], self[3], self[2], self[2]]) 1230 } 1231 1232 /// Constructs a new vector from the third, fourth, third, and third 1233 /// lanes in this vector, respectively. 1234 #[inline] zwzz(self) -> F32x41235 pub fn zwzz(self) -> F32x4 { 1236 F32x4([self[2], self[3], self[2], self[2]]) 1237 } 1238 1239 /// Constructs a new vector from the fourth, fourth, third, and third 1240 /// lanes in this vector, respectively. 1241 #[inline] wwzz(self) -> F32x41242 pub fn wwzz(self) -> F32x4 { 1243 F32x4([self[3], self[3], self[2], self[2]]) 1244 } 1245 1246 /// Constructs a new vector from the first, first, fourth, and third 1247 /// lanes in this vector, respectively. 1248 #[inline] xxwz(self) -> F32x41249 pub fn xxwz(self) -> F32x4 { 1250 F32x4([self[0], self[0], self[3], self[2]]) 1251 } 1252 1253 /// Constructs a new vector from the second, first, fourth, and third 1254 /// lanes in this vector, respectively. 1255 #[inline] yxwz(self) -> F32x41256 pub fn yxwz(self) -> F32x4 { 1257 F32x4([self[1], self[0], self[3], self[2]]) 1258 } 1259 1260 /// Constructs a new vector from the third, first, fourth, and third 1261 /// lanes in this vector, respectively. 1262 #[inline] zxwz(self) -> F32x41263 pub fn zxwz(self) -> F32x4 { 1264 F32x4([self[2], self[0], self[3], self[2]]) 1265 } 1266 1267 /// Constructs a new vector from the fourth, first, fourth, and third 1268 /// lanes in this vector, respectively. 1269 #[inline] wxwz(self) -> F32x41270 pub fn wxwz(self) -> F32x4 { 1271 F32x4([self[3], self[0], self[3], self[2]]) 1272 } 1273 1274 /// Constructs a new vector from the first, second, fourth, and third 1275 /// lanes in this vector, respectively. 1276 #[inline] xywz(self) -> F32x41277 pub fn xywz(self) -> F32x4 { 1278 F32x4([self[0], self[1], self[3], self[2]]) 1279 } 1280 1281 /// Constructs a new vector from the second, second, fourth, and third 1282 /// lanes in this vector, respectively. 1283 #[inline] yywz(self) -> F32x41284 pub fn yywz(self) -> F32x4 { 1285 F32x4([self[1], self[1], self[3], self[2]]) 1286 } 1287 1288 /// Constructs a new vector from the third, second, fourth, and third 1289 /// lanes in this vector, respectively. 1290 #[inline] zywz(self) -> F32x41291 pub fn zywz(self) -> F32x4 { 1292 F32x4([self[2], self[1], self[3], self[2]]) 1293 } 1294 1295 /// Constructs a new vector from the fourth, second, fourth, and third 1296 /// lanes in this vector, respectively. 1297 #[inline] wywz(self) -> F32x41298 pub fn wywz(self) -> F32x4 { 1299 F32x4([self[3], self[1], self[3], self[2]]) 1300 } 1301 1302 /// Constructs a new vector from the first, third, fourth, and third 1303 /// lanes in this vector, respectively. 1304 #[inline] xzwz(self) -> F32x41305 pub fn xzwz(self) -> F32x4 { 1306 F32x4([self[0], self[2], self[3], self[2]]) 1307 } 1308 1309 /// Constructs a new vector from the second, third, fourth, and third 1310 /// lanes in this vector, respectively. 1311 #[inline] yzwz(self) -> F32x41312 pub fn yzwz(self) -> F32x4 { 1313 F32x4([self[1], self[2], self[3], self[2]]) 1314 } 1315 1316 /// Constructs a new vector from the third, third, fourth, and third 1317 /// lanes in this vector, respectively. 1318 #[inline] zzwz(self) -> F32x41319 pub fn zzwz(self) -> F32x4 { 1320 F32x4([self[2], self[2], self[3], self[2]]) 1321 } 1322 1323 /// Constructs a new vector from the fourth, third, fourth, and third 1324 /// lanes in this vector, respectively. 1325 #[inline] wzwz(self) -> F32x41326 pub fn wzwz(self) -> F32x4 { 1327 F32x4([self[3], self[2], self[3], self[2]]) 1328 } 1329 1330 /// Constructs a new vector from the first, fourth, fourth, and third 1331 /// lanes in this vector, respectively. 1332 #[inline] xwwz(self) -> F32x41333 pub fn xwwz(self) -> F32x4 { 1334 F32x4([self[0], self[3], self[3], self[2]]) 1335 } 1336 1337 /// Constructs a new vector from the second, fourth, fourth, and third 1338 /// lanes in this vector, respectively. 1339 #[inline] ywwz(self) -> F32x41340 pub fn ywwz(self) -> F32x4 { 1341 F32x4([self[1], self[3], self[3], self[2]]) 1342 } 1343 1344 /// Constructs a new vector from the third, fourth, fourth, and third 1345 /// lanes in this vector, respectively. 1346 #[inline] zwwz(self) -> F32x41347 pub fn zwwz(self) -> F32x4 { 1348 F32x4([self[2], self[3], self[3], self[2]]) 1349 } 1350 1351 /// Constructs a new vector from the fourth, fourth, fourth, and third 1352 /// lanes in this vector, respectively. 1353 #[inline] wwwz(self) -> F32x41354 pub fn wwwz(self) -> F32x4 { 1355 F32x4([self[3], self[3], self[3], self[2]]) 1356 } 1357 1358 /// Constructs a new vector from the first, first, first, and fourth 1359 /// lanes in this vector, respectively. 1360 #[inline] xxxw(self) -> F32x41361 pub fn xxxw(self) -> F32x4 { 1362 F32x4([self[0], self[0], self[0], self[3]]) 1363 } 1364 1365 /// Constructs a new vector from the second, first, first, and fourth 1366 /// lanes in this vector, respectively. 1367 #[inline] yxxw(self) -> F32x41368 pub fn yxxw(self) -> F32x4 { 1369 F32x4([self[1], self[0], self[0], self[3]]) 1370 } 1371 1372 /// Constructs a new vector from the third, first, first, and fourth 1373 /// lanes in this vector, respectively. 1374 #[inline] zxxw(self) -> F32x41375 pub fn zxxw(self) -> F32x4 { 1376 F32x4([self[2], self[0], self[0], self[3]]) 1377 } 1378 1379 /// Constructs a new vector from the fourth, first, first, and fourth 1380 /// lanes in this vector, respectively. 1381 #[inline] wxxw(self) -> F32x41382 pub fn wxxw(self) -> F32x4 { 1383 F32x4([self[3], self[0], self[0], self[3]]) 1384 } 1385 1386 /// Constructs a new vector from the first, second, first, and fourth 1387 /// lanes in this vector, respectively. 1388 #[inline] xyxw(self) -> F32x41389 pub fn xyxw(self) -> F32x4 { 1390 F32x4([self[0], self[1], self[0], self[3]]) 1391 } 1392 1393 /// Constructs a new vector from the second, second, first, and fourth 1394 /// lanes in this vector, respectively. 1395 #[inline] yyxw(self) -> F32x41396 pub fn yyxw(self) -> F32x4 { 1397 F32x4([self[1], self[1], self[0], self[3]]) 1398 } 1399 1400 /// Constructs a new vector from the third, second, first, and fourth 1401 /// lanes in this vector, respectively. 1402 #[inline] zyxw(self) -> F32x41403 pub fn zyxw(self) -> F32x4 { 1404 F32x4([self[2], self[1], self[0], self[3]]) 1405 } 1406 1407 /// Constructs a new vector from the fourth, second, first, and fourth 1408 /// lanes in this vector, respectively. 1409 #[inline] wyxw(self) -> F32x41410 pub fn wyxw(self) -> F32x4 { 1411 F32x4([self[3], self[1], self[0], self[3]]) 1412 } 1413 1414 /// Constructs a new vector from the first, third, first, and fourth 1415 /// lanes in this vector, respectively. 1416 #[inline] xzxw(self) -> F32x41417 pub fn xzxw(self) -> F32x4 { 1418 F32x4([self[0], self[2], self[0], self[3]]) 1419 } 1420 1421 /// Constructs a new vector from the second, third, first, and fourth 1422 /// lanes in this vector, respectively. 1423 #[inline] yzxw(self) -> F32x41424 pub fn yzxw(self) -> F32x4 { 1425 F32x4([self[1], self[2], self[0], self[3]]) 1426 } 1427 1428 /// Constructs a new vector from the third, third, first, and fourth 1429 /// lanes in this vector, respectively. 1430 #[inline] zzxw(self) -> F32x41431 pub fn zzxw(self) -> F32x4 { 1432 F32x4([self[2], self[2], self[0], self[3]]) 1433 } 1434 1435 /// Constructs a new vector from the fourth, third, first, and fourth 1436 /// lanes in this vector, respectively. 1437 #[inline] wzxw(self) -> F32x41438 pub fn wzxw(self) -> F32x4 { 1439 F32x4([self[3], self[2], self[0], self[3]]) 1440 } 1441 1442 /// Constructs a new vector from the first, fourth, first, and fourth 1443 /// lanes in this vector, respectively. 1444 #[inline] xwxw(self) -> F32x41445 pub fn xwxw(self) -> F32x4 { 1446 F32x4([self[0], self[3], self[0], self[3]]) 1447 } 1448 1449 /// Constructs a new vector from the second, fourth, first, and fourth 1450 /// lanes in this vector, respectively. 1451 #[inline] ywxw(self) -> F32x41452 pub fn ywxw(self) -> F32x4 { 1453 F32x4([self[1], self[3], self[0], self[3]]) 1454 } 1455 1456 /// Constructs a new vector from the third, fourth, first, and fourth 1457 /// lanes in this vector, respectively. 1458 #[inline] zwxw(self) -> F32x41459 pub fn zwxw(self) -> F32x4 { 1460 F32x4([self[2], self[3], self[0], self[3]]) 1461 } 1462 1463 /// Constructs a new vector from the fourth, fourth, first, and fourth 1464 /// lanes in this vector, respectively. 1465 #[inline] wwxw(self) -> F32x41466 pub fn wwxw(self) -> F32x4 { 1467 F32x4([self[3], self[3], self[0], self[3]]) 1468 } 1469 1470 /// Constructs a new vector from the first, first, second, and fourth 1471 /// lanes in this vector, respectively. 1472 #[inline] xxyw(self) -> F32x41473 pub fn xxyw(self) -> F32x4 { 1474 F32x4([self[0], self[0], self[1], self[3]]) 1475 } 1476 1477 /// Constructs a new vector from the second, first, second, and fourth 1478 /// lanes in this vector, respectively. 1479 #[inline] yxyw(self) -> F32x41480 pub fn yxyw(self) -> F32x4 { 1481 F32x4([self[1], self[0], self[1], self[3]]) 1482 } 1483 1484 /// Constructs a new vector from the third, first, second, and fourth 1485 /// lanes in this vector, respectively. 1486 #[inline] zxyw(self) -> F32x41487 pub fn zxyw(self) -> F32x4 { 1488 F32x4([self[2], self[0], self[1], self[3]]) 1489 } 1490 1491 /// Constructs a new vector from the fourth, first, second, and fourth 1492 /// lanes in this vector, respectively. 1493 #[inline] wxyw(self) -> F32x41494 pub fn wxyw(self) -> F32x4 { 1495 F32x4([self[3], self[0], self[1], self[3]]) 1496 } 1497 1498 /// Constructs a new vector from the first, second, second, and fourth 1499 /// lanes in this vector, respectively. 1500 #[inline] xyyw(self) -> F32x41501 pub fn xyyw(self) -> F32x4 { 1502 F32x4([self[0], self[1], self[1], self[3]]) 1503 } 1504 1505 /// Constructs a new vector from the second, second, second, and fourth 1506 /// lanes in this vector, respectively. 1507 #[inline] yyyw(self) -> F32x41508 pub fn yyyw(self) -> F32x4 { 1509 F32x4([self[1], self[1], self[1], self[3]]) 1510 } 1511 1512 /// Constructs a new vector from the third, second, second, and fourth 1513 /// lanes in this vector, respectively. 1514 #[inline] zyyw(self) -> F32x41515 pub fn zyyw(self) -> F32x4 { 1516 F32x4([self[2], self[1], self[1], self[3]]) 1517 } 1518 1519 /// Constructs a new vector from the fourth, second, second, and fourth 1520 /// lanes in this vector, respectively. 1521 #[inline] wyyw(self) -> F32x41522 pub fn wyyw(self) -> F32x4 { 1523 F32x4([self[3], self[1], self[1], self[3]]) 1524 } 1525 1526 /// Constructs a new vector from the first, third, second, and fourth 1527 /// lanes in this vector, respectively. 1528 #[inline] xzyw(self) -> F32x41529 pub fn xzyw(self) -> F32x4 { 1530 F32x4([self[0], self[2], self[1], self[3]]) 1531 } 1532 1533 /// Constructs a new vector from the second, third, second, and fourth 1534 /// lanes in this vector, respectively. 1535 #[inline] yzyw(self) -> F32x41536 pub fn yzyw(self) -> F32x4 { 1537 F32x4([self[1], self[2], self[1], self[3]]) 1538 } 1539 1540 /// Constructs a new vector from the third, third, second, and fourth 1541 /// lanes in this vector, respectively. 1542 #[inline] zzyw(self) -> F32x41543 pub fn zzyw(self) -> F32x4 { 1544 F32x4([self[2], self[2], self[1], self[3]]) 1545 } 1546 1547 /// Constructs a new vector from the fourth, third, second, and fourth 1548 /// lanes in this vector, respectively. 1549 #[inline] wzyw(self) -> F32x41550 pub fn wzyw(self) -> F32x4 { 1551 F32x4([self[3], self[2], self[1], self[3]]) 1552 } 1553 1554 /// Constructs a new vector from the first, fourth, second, and fourth 1555 /// lanes in this vector, respectively. 1556 #[inline] xwyw(self) -> F32x41557 pub fn xwyw(self) -> F32x4 { 1558 F32x4([self[0], self[3], self[1], self[3]]) 1559 } 1560 1561 /// Constructs a new vector from the second, fourth, second, and fourth 1562 /// lanes in this vector, respectively. 1563 #[inline] ywyw(self) -> F32x41564 pub fn ywyw(self) -> F32x4 { 1565 F32x4([self[1], self[3], self[1], self[3]]) 1566 } 1567 1568 /// Constructs a new vector from the third, fourth, second, and fourth 1569 /// lanes in this vector, respectively. 1570 #[inline] zwyw(self) -> F32x41571 pub fn zwyw(self) -> F32x4 { 1572 F32x4([self[2], self[3], self[1], self[3]]) 1573 } 1574 1575 /// Constructs a new vector from the fourth, fourth, second, and fourth 1576 /// lanes in this vector, respectively. 1577 #[inline] wwyw(self) -> F32x41578 pub fn wwyw(self) -> F32x4 { 1579 F32x4([self[3], self[3], self[1], self[3]]) 1580 } 1581 1582 /// Constructs a new vector from the first, first, third, and fourth 1583 /// lanes in this vector, respectively. 1584 #[inline] xxzw(self) -> F32x41585 pub fn xxzw(self) -> F32x4 { 1586 F32x4([self[0], self[0], self[2], self[3]]) 1587 } 1588 1589 /// Constructs a new vector from the second, first, third, and fourth 1590 /// lanes in this vector, respectively. 1591 #[inline] yxzw(self) -> F32x41592 pub fn yxzw(self) -> F32x4 { 1593 F32x4([self[1], self[0], self[2], self[3]]) 1594 } 1595 1596 /// Constructs a new vector from the third, first, third, and fourth 1597 /// lanes in this vector, respectively. 1598 #[inline] zxzw(self) -> F32x41599 pub fn zxzw(self) -> F32x4 { 1600 F32x4([self[2], self[0], self[2], self[3]]) 1601 } 1602 1603 /// Constructs a new vector from the fourth, first, third, and fourth 1604 /// lanes in this vector, respectively. 1605 #[inline] wxzw(self) -> F32x41606 pub fn wxzw(self) -> F32x4 { 1607 F32x4([self[3], self[0], self[2], self[3]]) 1608 } 1609 1610 /// Constructs a new vector from the first, second, third, and fourth 1611 /// lanes in this vector, respectively. 1612 #[inline] xyzw(self) -> F32x41613 pub fn xyzw(self) -> F32x4 { 1614 F32x4([self[0], self[1], self[2], self[3]]) 1615 } 1616 1617 /// Constructs a new vector from the second, second, third, and fourth 1618 /// lanes in this vector, respectively. 1619 #[inline] yyzw(self) -> F32x41620 pub fn yyzw(self) -> F32x4 { 1621 F32x4([self[1], self[1], self[2], self[3]]) 1622 } 1623 1624 /// Constructs a new vector from the third, second, third, and fourth 1625 /// lanes in this vector, respectively. 1626 #[inline] zyzw(self) -> F32x41627 pub fn zyzw(self) -> F32x4 { 1628 F32x4([self[2], self[1], self[2], self[3]]) 1629 } 1630 1631 /// Constructs a new vector from the fourth, second, third, and fourth 1632 /// lanes in this vector, respectively. 1633 #[inline] wyzw(self) -> F32x41634 pub fn wyzw(self) -> F32x4 { 1635 F32x4([self[3], self[1], self[2], self[3]]) 1636 } 1637 1638 /// Constructs a new vector from the first, third, third, and fourth 1639 /// lanes in this vector, respectively. 1640 #[inline] xzzw(self) -> F32x41641 pub fn xzzw(self) -> F32x4 { 1642 F32x4([self[0], self[2], self[2], self[3]]) 1643 } 1644 1645 /// Constructs a new vector from the second, third, third, and fourth 1646 /// lanes in this vector, respectively. 1647 #[inline] yzzw(self) -> F32x41648 pub fn yzzw(self) -> F32x4 { 1649 F32x4([self[1], self[2], self[2], self[3]]) 1650 } 1651 1652 /// Constructs a new vector from the third, third, third, and fourth 1653 /// lanes in this vector, respectively. 1654 #[inline] zzzw(self) -> F32x41655 pub fn zzzw(self) -> F32x4 { 1656 F32x4([self[2], self[2], self[2], self[3]]) 1657 } 1658 1659 /// Constructs a new vector from the fourth, third, third, and fourth 1660 /// lanes in this vector, respectively. 1661 #[inline] wzzw(self) -> F32x41662 pub fn wzzw(self) -> F32x4 { 1663 F32x4([self[3], self[2], self[2], self[3]]) 1664 } 1665 1666 /// Constructs a new vector from the first, fourth, third, and fourth 1667 /// lanes in this vector, respectively. 1668 #[inline] xwzw(self) -> F32x41669 pub fn xwzw(self) -> F32x4 { 1670 F32x4([self[0], self[3], self[2], self[3]]) 1671 } 1672 1673 /// Constructs a new vector from the second, fourth, third, and fourth 1674 /// lanes in this vector, respectively. 1675 #[inline] ywzw(self) -> F32x41676 pub fn ywzw(self) -> F32x4 { 1677 F32x4([self[1], self[3], self[2], self[3]]) 1678 } 1679 1680 /// Constructs a new vector from the third, fourth, third, and fourth 1681 /// lanes in this vector, respectively. 1682 #[inline] zwzw(self) -> F32x41683 pub fn zwzw(self) -> F32x4 { 1684 F32x4([self[2], self[3], self[2], self[3]]) 1685 } 1686 1687 /// Constructs a new vector from the fourth, fourth, third, and fourth 1688 /// lanes in this vector, respectively. 1689 #[inline] wwzw(self) -> F32x41690 pub fn wwzw(self) -> F32x4 { 1691 F32x4([self[3], self[3], self[2], self[3]]) 1692 } 1693 1694 /// Constructs a new vector from the first, first, fourth, and fourth 1695 /// lanes in this vector, respectively. 1696 #[inline] xxww(self) -> F32x41697 pub fn xxww(self) -> F32x4 { 1698 F32x4([self[0], self[0], self[3], self[3]]) 1699 } 1700 1701 /// Constructs a new vector from the second, first, fourth, and fourth 1702 /// lanes in this vector, respectively. 1703 #[inline] yxww(self) -> F32x41704 pub fn yxww(self) -> F32x4 { 1705 F32x4([self[1], self[0], self[3], self[3]]) 1706 } 1707 1708 /// Constructs a new vector from the third, first, fourth, and fourth 1709 /// lanes in this vector, respectively. 1710 #[inline] zxww(self) -> F32x41711 pub fn zxww(self) -> F32x4 { 1712 F32x4([self[2], self[0], self[3], self[3]]) 1713 } 1714 1715 /// Constructs a new vector from the fourth, first, fourth, and fourth 1716 /// lanes in this vector, respectively. 1717 #[inline] wxww(self) -> F32x41718 pub fn wxww(self) -> F32x4 { 1719 F32x4([self[3], self[0], self[3], self[3]]) 1720 } 1721 1722 /// Constructs a new vector from the first, second, fourth, and fourth 1723 /// lanes in this vector, respectively. 1724 #[inline] xyww(self) -> F32x41725 pub fn xyww(self) -> F32x4 { 1726 F32x4([self[0], self[1], self[3], self[3]]) 1727 } 1728 1729 /// Constructs a new vector from the second, second, fourth, and fourth 1730 /// lanes in this vector, respectively. 1731 #[inline] yyww(self) -> F32x41732 pub fn yyww(self) -> F32x4 { 1733 F32x4([self[1], self[1], self[3], self[3]]) 1734 } 1735 1736 /// Constructs a new vector from the third, second, fourth, and fourth 1737 /// lanes in this vector, respectively. 1738 #[inline] zyww(self) -> F32x41739 pub fn zyww(self) -> F32x4 { 1740 F32x4([self[2], self[1], self[3], self[3]]) 1741 } 1742 1743 /// Constructs a new vector from the fourth, second, fourth, and fourth 1744 /// lanes in this vector, respectively. 1745 #[inline] wyww(self) -> F32x41746 pub fn wyww(self) -> F32x4 { 1747 F32x4([self[3], self[1], self[3], self[3]]) 1748 } 1749 1750 /// Constructs a new vector from the first, third, fourth, and fourth 1751 /// lanes in this vector, respectively. 1752 #[inline] xzww(self) -> F32x41753 pub fn xzww(self) -> F32x4 { 1754 F32x4([self[0], self[2], self[3], self[3]]) 1755 } 1756 1757 /// Constructs a new vector from the second, third, fourth, and fourth 1758 /// lanes in this vector, respectively. 1759 #[inline] yzww(self) -> F32x41760 pub fn yzww(self) -> F32x4 { 1761 F32x4([self[1], self[2], self[3], self[3]]) 1762 } 1763 1764 /// Constructs a new vector from the third, third, fourth, and fourth 1765 /// lanes in this vector, respectively. 1766 #[inline] zzww(self) -> F32x41767 pub fn zzww(self) -> F32x4 { 1768 F32x4([self[2], self[2], self[3], self[3]]) 1769 } 1770 1771 /// Constructs a new vector from the fourth, third, fourth, and fourth 1772 /// lanes in this vector, respectively. 1773 #[inline] wzww(self) -> F32x41774 pub fn wzww(self) -> F32x4 { 1775 F32x4([self[3], self[2], self[3], self[3]]) 1776 } 1777 1778 /// Constructs a new vector from the first, fourth, fourth, and fourth 1779 /// lanes in this vector, respectively. 1780 #[inline] xwww(self) -> F32x41781 pub fn xwww(self) -> F32x4 { 1782 F32x4([self[0], self[3], self[3], self[3]]) 1783 } 1784 1785 /// Constructs a new vector from the second, fourth, fourth, and fourth 1786 /// lanes in this vector, respectively. 1787 #[inline] ywww(self) -> F32x41788 pub fn ywww(self) -> F32x4 { 1789 F32x4([self[1], self[3], self[3], self[3]]) 1790 } 1791 1792 /// Constructs a new vector from the third, fourth, fourth, and fourth 1793 /// lanes in this vector, respectively. 1794 #[inline] zwww(self) -> F32x41795 pub fn zwww(self) -> F32x4 { 1796 F32x4([self[2], self[3], self[3], self[3]]) 1797 } 1798 1799 /// Constructs a new vector from the fourth, fourth, fourth, and fourth 1800 /// lanes in this vector, respectively. 1801 #[inline] wwww(self) -> F32x41802 pub fn wwww(self) -> F32x4 { 1803 F32x4([self[3], self[3], self[3], self[3]]) 1804 } 1805 } 1806