[PATCH v3 2/2] powerpc: Add optimized stpncpy for POWER9

Raphael M Zinsly rzinsly@linux.ibm.com
Tue Sep 29 15:23:21 GMT 2020


                             	generic_stpncpy	__stpncpy_power9 
__stpncpy_power8	__stpncpy_power7	__stpncpy_ppc
Length   16, n   16, alignment  1/ 1:	7.04141	2.66905	2.71071	5.33257 
9.45193
Length   16, n   16, alignment  1/ 1:	7.01728	2.54349	2.70763	5.35555 
9.40601
Length   16, n   16, alignment  1/ 2:	6.76331	2.56894	2.70649	5.28715 
9.19534
Length   16, n   16, alignment  2/ 1:	6.41285	2.52953	2.86392	5.25868 
9.24343
Length    2, n    4, alignment  7/ 2:	7.76627	2.36037	4.34749	4.05757 
8.45648
Length    4, n    2, alignment  2/ 7:	6.15257	1.734	2.66932	2.81884	6.61486
Length    2, n    4, alignment  7/ 2:	7.69004	2.34779	3.90224	4.08693 
8.51617
Length    4, n    2, alignment  2/ 7:	6.14888	1.73738	2.66929	2.81777 
6.39066
Length   16, n   16, alignment  2/ 2:	7.25765	2.5434	2.8759	4.7084	9.43171
Length   16, n   16, alignment  2/ 2:	6.41274	2.52681	2.87939	5.2894	9.2505
Length   16, n   16, alignment  2/ 4:	6.74797	2.6683	2.82869	5.27608	9.43391
Length   16, n   16, alignment  4/ 2:	7.6281	2.54368	3.52982	5.26862	8.7369
Length    4, n    8, alignment  6/ 4:	7.79233	2.33099	5.64785	4.21131	9.03
Length    8, n    4, alignment  4/ 6:	6.01824	1.73782	2.81779	2.81777 
7.90004
Length    4, n    8, alignment  6/ 4:	7.94851	2.33098	4.90456	3.75698 
8.89379
Length    8, n    4, alignment  4/ 6:	6.0183	1.73715	2.81777	2.41521	7.83867
Length   16, n   16, alignment  3/ 3:	6.93178	2.66854	3.22004	5.31673 
9.09542
Length   16, n   16, alignment  3/ 3:	6.99998	2.67084	3.22862	5.48294	9.2366
Length   16, n   16, alignment  3/ 6:	7.14689	2.6615	3.21888	5.25964	9.1277
Length   16, n   16, alignment  6/ 3:	6.46654	2.65885	4.57873	5.25391 
7.75507
Length    8, n   16, alignment  5/ 6:	7.37286	2.33316	3.92971	4.50331 
10.1496
Length   16, n    8, alignment  6/ 5:	5.73663	1.87991	2.633	4.09291	5.91732
Length    8, n   16, alignment  5/ 6:	7.77512	2.33361	3.67636	4.50091	10.147
Length   16, n    8, alignment  6/ 5:	5.73662	1.88001	2.57119	4.10496 
6.15016
Length   16, n   16, alignment  4/ 4:	7.55115	2.65827	3.5838	5.25628	8.81586
Length   16, n   16, alignment  4/ 4:	7.61232	2.66851	3.62508	5.32044 
8.73914
Length   16, n   16, alignment  4/ 0:	7.54588	2.54345	3.48987	5.27812 
8.77989
Length   16, n   16, alignment  0/ 4:	6.82387	1.88425	2.41569	5.27746 
7.19847
Length   16, n   32, alignment  4/ 0:	10.1135	3.10868	6.01894	6.66693 
11.7681
Length   32, n   16, alignment  0/ 4:	6.93527	1.8793	2.4162	5.29155	6.50752
Length   16, n   32, alignment  4/ 0:	10.1565	3.16134	5.78062	6.81425 
11.2226
Length   32, n   16, alignment  0/ 4:	6.76758	1.87928	2.41649	5.30161 
7.22291
Length   16, n   16, alignment  5/ 5:	7.22753	2.56593	4.22659	5.30415 
9.86703
Length   16, n   16, alignment  5/ 5:	6.76256	2.54348	4.23108	5.43866 
9.53557
Length   16, n   16, alignment  5/ 2:	7.23702	2.52833	4.23011	5.26711 
9.52126
Length   16, n   16, alignment  2/ 5:	6.68084	2.66311	2.84314	5.2709	9.24495
Length   32, n   64, alignment  3/ 2:	12.4989	3.84198	6.40671	10.4545	14.317
Length   64, n   32, alignment  2/ 3:	10.1464	2.78457	3.17933	7.67569 
12.4356
Length   32, n   64, alignment  3/ 2:	12.4991	3.83968	7.08471	10.451	15.8984
Length   64, n   32, alignment  2/ 3:	9.61285	2.78401	3.18834	7.66606 
13.9602
Length   16, n   16, alignment  6/ 6:	7.24557	2.66839	4.55951	5.25563	7.7369
Length   16, n   16, alignment  6/ 6:	6.76327	2.65836	4.5127	5.63264	7.80333
Length   16, n   16, alignment  6/ 4:	7.15127	2.54397	4.57355	5.32957 
7.51005
Length   16, n   16, alignment  4/ 6:	7.51733	2.5615	3.67299	5.31244	8.73893
Length   64, n  128, alignment  2/ 4:	14.0745	4.98021	7.33878	11.4384 
17.1572
Length  128, n   64, alignment  4/ 2:	11.7179	3.59088	4.89414	10.2021 
11.6637
Length   64, n  128, alignment  2/ 4:	14.0841	4.99105	7.28507	11.4365 
21.7537
Length  128, n   64, alignment  4/ 2:	11.7142	3.59211	4.83864	9.87632 
19.4664
Length   16, n   16, alignment  7/ 7:	7.12738	2.53533	5.62213	5.30017 
7.90888
Length   16, n   16, alignment  7/ 7:	6.82635	2.53529	5.60694	5.27111 
8.88482
Length   16, n   16, alignment  7/ 6:	6.9193	2.54376	5.48117	5.24785	8.04263
Length   16, n   16, alignment  6/ 7:	6.89261	2.55078	4.51003	5.32471 
7.81768
Length  128, n  256, alignment  1/ 6:	16.2686	7.68983	9.35727	16.2843 
19.8458
Length  256, n  128, alignment  6/ 1:	13.4356	4.94899	7.94404	15.0122 
15.0231
Length  128, n  256, alignment  1/ 6:	16.2511	7.69025	9.35528	16.2859 
37.8453
Length  256, n  128, alignment  6/ 1:	13.4332	4.94446	8.02757	12.2879 
34.1949
Length    8, n   16, alignment  0/ 0:	7.26102	2.33285	3.75702	3.85762 
7.72869
Length   32, n   16, alignment  0/ 0:	7.049	1.88689	2.42187	2.41537	6.58192
Length    8, n   16, alignment  7/ 2:	8.09344	2.31269	3.67403	4.31612 
8.21018
Length   32, n   16, alignment  7/ 2:	6.822	2.45733	5.59593	5.33252	6.53496
Length   16, n   32, alignment  0/ 0:	9.99648	3.36432	4.70547	4.55746	10.148
Length   64, n   32, alignment  0/ 0:	7.89408	2.4309	2.58854	2.70519	8.89171
Length   16, n   32, alignment  6/ 4:	9.31969	3.15547	7.24937	9.47362 
10.0091
Length   64, n   32, alignment  6/ 4:	9.91687	2.78234	4.64259	7.00062 
10.5972
Length   32, n   64, alignment  0/ 0:	11.0651	3.81484	4.4379	4.91663	11.8363
Length  128, n   64, alignment  0/ 0:	9.25821	3.20129	3.55296	4.22664 
9.63556
Length   32, n   64, alignment  5/ 6:	12.5097	3.83422	7.29892	9.09849 
13.2517
Length  128, n   64, alignment  5/ 6:	11.6165	3.60246	5.35542	8.90704 
13.3207
Length   64, n  128, alignment  0/ 0:	12.372	4.91681	5.41951	6.91629	15.0813
Length  256, n  128, alignment  0/ 0:	7.93075	4.5247	6.29502	5.58357	12.5963
Length   64, n  128, alignment  4/ 0:	12.569	5.00092	7.25225	10.4764	15.9366
Length  256, n  128, alignment  4/ 0:	12.2963	4.90654	7.57109	12.0953 
16.7672
Length  128, n  256, alignment  0/ 0:	13.9015	7.34814	7.88738	9.15353 
19.4141
Length  512, n  256, alignment  0/ 0:	10.6865	6.52749	9.15011	9.71701 
20.9021
Length  128, n  256, alignment  3/ 2:	16.3681	7.53318	9.89911	18.5309 
20.8335
Length  512, n  256, alignment  3/ 2:	17.0249	7.10063	10.1568	22.6063 
25.1262
Length  256, n  512, alignment  0/ 0:	16.5169	12.3406	13.6056	14.5875 
29.2826
Length 1024, n  512, alignment  0/ 0:	16.3619	10.8422	16.7061	17.1025 
37.7908
Length  256, n  512, alignment  2/ 4:	21.162	12.9621	14.3306	26.0856	30.0397
Length 1024, n  512, alignment  2/ 4:	25.5543	11.9978	17.7424	42.4293 
47.7581
Length  512, n 1024, alignment  0/ 0:	20.5504	17.3132	19.5751	21.3633 
42.7215
Length 2048, n 1024, alignment  0/ 0:	28.5197	19.3708	37.1801	35.3122 
67.9792
Length  512, n 1024, alignment  1/ 6:	29.9875	17.7823	22.3228	47.3516 
51.3697
Length 2048, n 1024, alignment  1/ 6:	42.9443	21.6004	38.7767	78.1732 
83.9784


More information about the Libc-alpha mailing list