|
13 | 13 | #endif
|
14 | 14 | #endif
|
15 | 15 |
|
| 16 | +#if __has_cpp_attribute(fallthrough) |
| 17 | +#define FALLTHROUGH [[fallthrough]] |
| 18 | +#else |
| 19 | +#define FALLTHROUGH |
| 20 | +#endif |
16 | 21 |
|
17 | 22 | #include <assert.h>
|
18 | 23 | #include <immintrin.h>
|
@@ -458,53 +463,53 @@ class vxsort {
|
458 | 463 |
|
459 | 464 | switch (InnerUnroll) {
|
460 | 465 | case 12: d12 = MT::load_vec(nextPtr + InnerUnroll - 12);
|
461 |
| - [[clang::fallthrough]]; |
| 466 | + FALLTHROUGH; |
462 | 467 | case 11: d11 = MT::load_vec(nextPtr + InnerUnroll - 11);
|
463 |
| - [[clang::fallthrough]]; |
| 468 | + FALLTHROUGH; |
464 | 469 | case 10: d10 = MT::load_vec(nextPtr + InnerUnroll - 10);
|
465 |
| - [[clang::fallthrough]]; |
| 470 | + FALLTHROUGH; |
466 | 471 | case 9: d09 = MT::load_vec(nextPtr + InnerUnroll - 9);
|
467 |
| - [[clang::fallthrough]]; |
| 472 | + FALLTHROUGH; |
468 | 473 | case 8: d08 = MT::load_vec(nextPtr + InnerUnroll - 8);
|
469 |
| - [[clang::fallthrough]]; |
| 474 | + FALLTHROUGH; |
470 | 475 | case 7: d07 = MT::load_vec(nextPtr + InnerUnroll - 7);
|
471 |
| - [[clang::fallthrough]]; |
| 476 | + FALLTHROUGH; |
472 | 477 | case 6: d06 = MT::load_vec(nextPtr + InnerUnroll - 6);
|
473 |
| - [[clang::fallthrough]]; |
| 478 | + FALLTHROUGH; |
474 | 479 | case 5: d05 = MT::load_vec(nextPtr + InnerUnroll - 5);
|
475 |
| - [[clang::fallthrough]]; |
| 480 | + FALLTHROUGH; |
476 | 481 | case 4: d04 = MT::load_vec(nextPtr + InnerUnroll - 4);
|
477 |
| - [[clang::fallthrough]]; |
| 482 | + FALLTHROUGH; |
478 | 483 | case 3: d03 = MT::load_vec(nextPtr + InnerUnroll - 3);
|
479 |
| - [[clang::fallthrough]]; |
| 484 | + FALLTHROUGH; |
480 | 485 | case 2: d02 = MT::load_vec(nextPtr + InnerUnroll - 2);
|
481 |
| - [[clang::fallthrough]]; |
| 486 | + FALLTHROUGH; |
482 | 487 | case 1: d01 = MT::load_vec(nextPtr + InnerUnroll - 1);
|
483 | 488 | }
|
484 | 489 |
|
485 | 490 | switch (InnerUnroll) {
|
486 | 491 | case 12: partition_block(d12, P, writeLeft, writeRight);
|
487 |
| - [[clang::fallthrough]]; |
| 492 | + FALLTHROUGH; |
488 | 493 | case 11: partition_block(d11, P, writeLeft, writeRight);
|
489 |
| - [[clang::fallthrough]]; |
| 494 | + FALLTHROUGH; |
490 | 495 | case 10: partition_block(d10, P, writeLeft, writeRight);
|
491 |
| - [[clang::fallthrough]]; |
| 496 | + FALLTHROUGH; |
492 | 497 | case 9: partition_block(d09, P, writeLeft, writeRight);
|
493 |
| - [[clang::fallthrough]]; |
| 498 | + FALLTHROUGH; |
494 | 499 | case 8: partition_block(d08, P, writeLeft, writeRight);
|
495 |
| - [[clang::fallthrough]]; |
| 500 | + FALLTHROUGH; |
496 | 501 | case 7: partition_block(d07, P, writeLeft, writeRight);
|
497 |
| - [[clang::fallthrough]]; |
| 502 | + FALLTHROUGH; |
498 | 503 | case 6: partition_block(d06, P, writeLeft, writeRight);
|
499 |
| - [[clang::fallthrough]]; |
| 504 | + FALLTHROUGH; |
500 | 505 | case 5: partition_block(d05, P, writeLeft, writeRight);
|
501 |
| - [[clang::fallthrough]]; |
| 506 | + FALLTHROUGH; |
502 | 507 | case 4: partition_block(d04, P, writeLeft, writeRight);
|
503 |
| - [[clang::fallthrough]]; |
| 508 | + FALLTHROUGH; |
504 | 509 | case 3: partition_block(d03, P, writeLeft, writeRight);
|
505 |
| - [[clang::fallthrough]]; |
| 510 | + FALLTHROUGH; |
506 | 511 | case 2: partition_block(d02, P, writeLeft, writeRight);
|
507 |
| - [[clang::fallthrough]]; |
| 512 | + FALLTHROUGH; |
508 | 513 | case 1: partition_block(d01, P, writeLeft, writeRight);
|
509 | 514 | }
|
510 | 515 | }
|
|
0 commit comments