- Notifications
You must be signed in to change notification settings - Fork5.2k
Commit519338a
Optimize popcount functions with ARM SVE intrinsics.
This commit introduces SVE implementations of pg_popcount{32,64}.Unlike the Neon versions, we need an additional configure-timecheck to determine if the compiler supports SVE intrinsics, and weneed a runtime check to determine if the current CPU supports SVEinstructions. Our testing showed that the SVE implementations aremuch faster for larger inputs and are comparable to the statusquo for smaller inputs.Author: "Devanga.Susmitha@fujitsu.com" <Devanga.Susmitha@fujitsu.com>Co-authored-by: "Chiranmoy.Bhattacharya@fujitsu.com" <Chiranmoy.Bhattacharya@fujitsu.com>Co-authored-by: "Malladi, Rama" <ramamalladi@hotmail.com>Reviewed-by: John Naylor <johncnaylorls@gmail.com>Reviewed-by: Kirill Reshke <reshkekirill@gmail.com>Discussion:https://postgr.es/m/010101936e4aaa70-b474ab9e-b9ce-474d-a3ba-a3dc223d295c-000000%40us-west-2.amazonses.comDiscussion:https://postgr.es/m/OSZPR01MB84990A9A02A3515C6E85A65B8B2A2%40OSZPR01MB8499.jpnprd01.prod.outlook.com1 parent3c8e463 commit519338a
File tree
7 files changed
+475
-6
lines changed- config
- src
- include
- port
- port
7 files changed
+475
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
708 | 708 | | |
709 | 709 | | |
710 | 710 | | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17517 | 17517 | | |
17518 | 17518 | | |
17519 | 17519 | | |
| 17520 | + | |
| 17521 | + | |
| 17522 | + | |
| 17523 | + | |
| 17524 | + | |
| 17525 | + | |
| 17526 | + | |
| 17527 | + | |
| 17528 | + | |
| 17529 | + | |
| 17530 | + | |
| 17531 | + | |
| 17532 | + | |
| 17533 | + | |
| 17534 | + | |
| 17535 | + | |
| 17536 | + | |
| 17537 | + | |
| 17538 | + | |
| 17539 | + | |
| 17540 | + | |
| 17541 | + | |
| 17542 | + | |
| 17543 | + | |
| 17544 | + | |
| 17545 | + | |
| 17546 | + | |
| 17547 | + | |
| 17548 | + | |
| 17549 | + | |
| 17550 | + | |
| 17551 | + | |
| 17552 | + | |
| 17553 | + | |
| 17554 | + | |
| 17555 | + | |
| 17556 | + | |
| 17557 | + | |
| 17558 | + | |
| 17559 | + | |
| 17560 | + | |
| 17561 | + | |
| 17562 | + | |
| 17563 | + | |
| 17564 | + | |
| 17565 | + | |
| 17566 | + | |
| 17567 | + | |
| 17568 | + | |
| 17569 | + | |
| 17570 | + | |
| 17571 | + | |
| 17572 | + | |
| 17573 | + | |
| 17574 | + | |
| 17575 | + | |
| 17576 | + | |
| 17577 | + | |
| 17578 | + | |
| 17579 | + | |
| 17580 | + | |
| 17581 | + | |
| 17582 | + | |
| 17583 | + | |
| 17584 | + | |
| 17585 | + | |
| 17586 | + | |
| 17587 | + | |
| 17588 | + | |
| 17589 | + | |
| 17590 | + | |
17520 | 17591 | | |
17521 | 17592 | | |
17522 | 17593 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2070 | 2070 | | |
2071 | 2071 | | |
2072 | 2072 | | |
| 2073 | + | |
| 2074 | + | |
| 2075 | + | |
| 2076 | + | |
| 2077 | + | |
| 2078 | + | |
| 2079 | + | |
| 2080 | + | |
| 2081 | + | |
2073 | 2082 | | |
2074 | 2083 | | |
2075 | 2084 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2297 | 2297 | | |
2298 | 2298 | | |
2299 | 2299 | | |
| 2300 | + | |
| 2301 | + | |
| 2302 | + | |
| 2303 | + | |
| 2304 | + | |
| 2305 | + | |
| 2306 | + | |
| 2307 | + | |
| 2308 | + | |
| 2309 | + | |
| 2310 | + | |
| 2311 | + | |
| 2312 | + | |
| 2313 | + | |
| 2314 | + | |
| 2315 | + | |
| 2316 | + | |
| 2317 | + | |
| 2318 | + | |
| 2319 | + | |
| 2320 | + | |
| 2321 | + | |
| 2322 | + | |
| 2323 | + | |
| 2324 | + | |
| 2325 | + | |
| 2326 | + | |
| 2327 | + | |
| 2328 | + | |
| 2329 | + | |
| 2330 | + | |
| 2331 | + | |
| 2332 | + | |
| 2333 | + | |
| 2334 | + | |
| 2335 | + | |
| 2336 | + | |
| 2337 | + | |
| 2338 | + | |
| 2339 | + | |
| 2340 | + | |
| 2341 | + | |
| 2342 | + | |
| 2343 | + | |
| 2344 | + | |
| 2345 | + | |
| 2346 | + | |
| 2347 | + | |
2300 | 2348 | | |
2301 | 2349 | | |
2302 | 2350 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
712 | 712 | | |
713 | 713 | | |
714 | 714 | | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
715 | 718 | | |
716 | 719 | | |
717 | 720 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
324 | 324 | | |
325 | 325 | | |
326 | 326 | | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
327 | 344 | | |
328 | 345 | | |
329 | 346 | | |
| |||
0 commit comments
Comments
(0)