forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitf78667b
committed
Use __attribute__((target(...))) for AVX-512 support.
Presently, we check for compiler support for the requiredintrinsics both with and without extra compiler flags (e.g.,-mxsave), and then depending on the results of those checks, wepick which files to compile with which flags. This is tedious andcomplicated, and it results in unsustainable coding patterns suchas separate files for each portion of code may need to be builtwith different compiler flags.This commit introduces support for __attribute__((target(...))) anduses it for the AVX-512 code. This simplifies both theconfigure-time checks and the build scripts, and it allows us toplace the functions that use the intrinsics in files that weotherwise do not want to build with special CPU instructions. Weare careful to avoid using __attribute__((target(...))) oncompilers that do not understand it, but we still perform theconfigure-time checks in case the compiler allows using theintrinsics without it (e.g., MSVC).A similar change could likely be made for some of the CRC-32C code,but that is left as a future exercise.Suggested-by: Andres FreundReviewed-by: Raghuveer Devulapalli, Andres FreundDiscussion:https://postgr.es/m/20240731205254.vfpap7uxwmebqeaf%40awork3.anarazel.de1 parentf56a01e commitf78667b
File tree
11 files changed
+185
-312
lines changed- config
- src
- include
- makefiles
- port
11 files changed
+185
-312
lines changedLines changed: 33 additions & 31 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
700 | 700 |
| |
701 | 701 |
| |
702 | 702 |
| |
703 |
| - | |
704 |
| - | |
| 703 | + | |
705 | 704 |
| |
706 |
| - | |
707 |
| - | |
708 |
| - | |
709 |
| - | |
710 |
| - | |
711 |
| - | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
712 | 716 |
| |
713 |
| - | |
714 |
| - | |
| 717 | + | |
715 | 718 |
| |
716 |
| - | |
717 | 719 |
| |
718 | 720 |
| |
719 | 721 |
| |
| |||
725 | 727 |
| |
726 | 728 |
| |
727 | 729 |
| |
728 |
| - | |
729 |
| - | |
730 |
| - | |
| 730 | + | |
731 | 731 |
| |
732 |
| - | |
733 |
| - | |
734 |
| - | |
735 |
| - | |
736 |
| - | |
737 |
| - | |
738 |
| - | |
739 |
| - | |
740 |
| - | |
741 |
| - | |
742 |
| - | |
743 |
| - | |
744 |
| - | |
745 |
| - | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
746 | 750 |
| |
747 |
| - | |
748 |
| - | |
| 751 | + | |
749 | 752 |
| |
750 |
| - | |
751 | 753 |
| |
752 | 754 |
| |
753 | 755 |
| |
|
Lines changed: 41 additions & 126 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
647 | 647 |
| |
648 | 648 |
| |
649 | 649 |
| |
650 |
| - | |
651 |
| - | |
652 |
| - | |
653 | 650 |
| |
654 | 651 |
| |
655 | 652 |
| |
| |||
17272 | 17269 |
| |
17273 | 17270 |
| |
17274 | 17271 |
| |
17275 |
| - | |
17276 |
| - | |
17277 |
| - | |
17278 |
| - | |
| 17272 | + | |
| 17273 | + | |
| 17274 | + | |
17279 | 17275 |
| |
17280 | 17276 |
| |
17281 |
| - | |
17282 |
| - | |
17283 |
| - | |
17284 |
| - | |
17285 |
| - | |
17286 |
| - | |
17287 |
| - | |
17288 |
| - | |
17289 |
| - | |
17290 |
| - | |
17291 |
| - | |
17292 |
| - | |
17293 |
| - | |
17294 |
| - | |
17295 |
| - | |
17296 |
| - | |
17297 |
| - | |
17298 |
| - | |
17299 |
| - | |
17300 |
| - | |
17301 |
| - | |
17302 |
| - | |
17303 |
| - | |
17304 |
| - | |
17305 |
| - | |
17306 |
| - | |
17307 |
| - | |
17308 |
| - | |
17309 |
| - | |
17310 |
| - | |
17311 |
| - | |
17312 |
| - | |
17313 |
| - | |
17314 |
| - | |
17315 |
| - | |
17316 |
| - | |
17317 |
| - | |
17318 |
| - | |
| 17277 | + | |
17319 | 17278 |
| |
17320 | 17279 |
| |
| 17280 | + | |
| 17281 | + | |
| 17282 | + | |
| 17283 | + | |
| 17284 | + | |
| 17285 | + | |
| 17286 | + | |
17321 | 17287 |
| |
17322 | 17288 |
| |
17323 | 17289 |
| |
17324 |
| - | |
| 17290 | + | |
17325 | 17291 |
| |
17326 | 17292 |
| |
17327 | 17293 |
| |
17328 | 17294 |
| |
17329 | 17295 |
| |
17330 |
| - | |
| 17296 | + | |
17331 | 17297 |
| |
17332 |
| - | |
| 17298 | + | |
17333 | 17299 |
| |
17334 | 17300 |
| |
17335 | 17301 |
| |
17336 |
| - | |
17337 | 17302 |
| |
17338 |
| - | |
17339 |
| - | |
17340 |
| - | |
17341 |
| - | |
| 17303 | + | |
| 17304 | + | |
| 17305 | + | |
17342 | 17306 |
| |
17343 | 17307 |
| |
17344 | 17308 |
| |
17345 |
| - | |
17346 | 17309 |
| |
17347 | 17310 |
| |
17348 | 17311 |
| |
17349 | 17312 |
| |
17350 | 17313 |
| |
17351 | 17314 |
| |
17352 |
| - | |
17353 | 17315 |
| |
17354 | 17316 |
| |
17355 |
| - | |
17356 |
| - | |
17357 | 17317 |
| |
17358 |
| - | |
17359 |
| - | |
17360 |
| - | |
| 17318 | + | |
| 17319 | + | |
| 17320 | + | |
17361 | 17321 |
| |
17362 | 17322 |
| |
17363 |
| - | |
17364 |
| - | |
17365 |
| - | |
17366 |
| - | |
17367 |
| - | |
17368 |
| - | |
17369 |
| - | |
17370 |
| - | |
17371 |
| - | |
17372 |
| - | |
17373 |
| - | |
17374 |
| - | |
17375 |
| - | |
17376 |
| - | |
17377 |
| - | |
17378 |
| - | |
17379 |
| - | |
17380 |
| - | |
17381 |
| - | |
17382 |
| - | |
17383 |
| - | |
17384 |
| - | |
17385 |
| - | |
17386 |
| - | |
17387 |
| - | |
17388 |
| - | |
17389 |
| - | |
17390 |
| - | |
17391 |
| - | |
17392 |
| - | |
17393 |
| - | |
17394 |
| - | |
17395 |
| - | |
17396 |
| - | |
17397 |
| - | |
17398 |
| - | |
17399 |
| - | |
17400 |
| - | |
17401 |
| - | |
17402 |
| - | |
17403 |
| - | |
17404 |
| - | |
17405 |
| - | |
17406 |
| - | |
17407 |
| - | |
17408 |
| - | |
| 17323 | + | |
17409 | 17324 |
| |
17410 | 17325 |
| |
| 17326 | + | |
| 17327 | + | |
| 17328 | + | |
| 17329 | + | |
| 17330 | + | |
| 17331 | + | |
| 17332 | + | |
| 17333 | + | |
| 17334 | + | |
| 17335 | + | |
| 17336 | + | |
| 17337 | + | |
| 17338 | + | |
| 17339 | + | |
17411 | 17340 |
| |
17412 | 17341 |
| |
17413 | 17342 |
| |
17414 |
| - | |
17415 |
| - | |
17416 |
| - | |
17417 |
| - | |
17418 |
| - | |
17419 |
| - | |
17420 |
| - | |
17421 |
| - | |
17422 |
| - | |
| 17343 | + | |
17423 | 17344 |
| |
17424 | 17345 |
| |
17425 | 17346 |
| |
17426 | 17347 |
| |
17427 | 17348 |
| |
17428 |
| - | |
| 17349 | + | |
17429 | 17350 |
| |
17430 |
| - | |
| 17351 | + | |
17431 | 17352 |
| |
17432 | 17353 |
| |
17433 | 17354 |
| |
17434 |
| - | |
17435 | 17355 |
| |
17436 |
| - | |
17437 |
| - | |
17438 |
| - | |
17439 |
| - | |
| 17356 | + | |
| 17357 | + | |
| 17358 | + | |
17440 | 17359 |
| |
17441 | 17360 |
| |
17442 | 17361 |
| |
17443 |
| - | |
17444 | 17362 |
| |
17445 |
| - | |
17446 | 17363 |
| |
17447 | 17364 |
| |
17448 | 17365 |
| |
17449 | 17366 |
| |
17450 | 17367 |
| |
17451 | 17368 |
| |
17452 |
| - | |
17453 |
| - | |
17454 | 17369 |
| |
17455 | 17370 |
| |
17456 | 17371 |
| |
|
Lines changed: 2 additions & 15 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2050 | 2050 |
| |
2051 | 2051 |
| |
2052 | 2052 |
| |
2053 |
| - | |
2054 |
| - | |
2055 |
| - | |
2056 |
| - | |
2057 |
| - | |
| 2053 | + | |
2058 | 2054 |
| |
2059 | 2055 |
| |
2060 | 2056 |
| |
2061 |
| - | |
2062 | 2057 |
| |
2063 | 2058 |
| |
2064 | 2059 |
| |
2065 |
| - | |
2066 |
| - | |
2067 | 2060 |
| |
2068 |
| - | |
2069 |
| - | |
2070 |
| - | |
2071 |
| - | |
| 2061 | + | |
2072 | 2062 |
| |
2073 |
| - | |
2074 | 2063 |
| |
2075 | 2064 |
| |
2076 | 2065 |
| |
2077 |
| - | |
2078 |
| - | |
2079 | 2066 |
| |
2080 | 2067 |
| |
2081 | 2068 |
| |
|
0 commit comments
Comments
(0)