From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 5D6603857830 for ; Fri, 4 Sep 2020 16:59:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5D6603857830 Received: from pps.filterd (m0098404.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 084Grrtx030689 for ; Fri, 4 Sep 2020 12:59:17 -0400 Received: from ppma04dal.us.ibm.com (7a.29.35a9.ip4.static.sl-reverse.com [169.53.41.122]) by mx0a-001b2d01.pphosted.com with ESMTP id 33bsgpr2qy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 04 Sep 2020 12:59:17 -0400 Received: from pps.filterd (ppma04dal.us.ibm.com [127.0.0.1]) by ppma04dal.us.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 084Gw0vR025254 for ; Fri, 4 Sep 2020 16:59:16 GMT Received: from b01cxnp22035.gho.pok.ibm.com (b01cxnp22035.gho.pok.ibm.com [9.57.198.25]) by ppma04dal.us.ibm.com with ESMTP id 339tmvn3ge-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 04 Sep 2020 16:59:16 +0000 Received: from b01ledav005.gho.pok.ibm.com (b01ledav005.gho.pok.ibm.com [9.57.199.110]) by b01cxnp22035.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 084GxFMO49479992 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 4 Sep 2020 16:59:15 GMT Received: from b01ledav005.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D5F80AE062 for ; Fri, 4 Sep 2020 16:59:15 +0000 (GMT) Received: from b01ledav005.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4226BAE05F for ; Fri, 4 Sep 2020 16:59:15 +0000 (GMT) Received: from [9.163.4.175] (unknown [9.163.4.175]) by b01ledav005.gho.pok.ibm.com (Postfix) with ESMTP for ; Fri, 4 Sep 2020 16:59:14 +0000 (GMT) Subject: Re: [PATCH v2 1/2] powerpc: Add optimized strncpy for POWER9 To: libc-alpha@sourceware.org References: <20200904165653.16202-1-rzinsly@linux.ibm.com> From: Raphael M Zinsly Message-ID: <6f52ff38-86c0-0ef8-f5f8-d54fe626650e@linux.ibm.com> Date: Fri, 4 Sep 2020 13:59:13 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200904165653.16202-1-rzinsly@linux.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-09-04_08:2020-09-04, 2020-09-04 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 suspectscore=1 spamscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 lowpriorityscore=0 mlxlogscore=760 priorityscore=1501 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009040139 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, KAM_NUMSUBJECT, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 16:59:20 -0000 Benchtest output: generic_strncpy __strncpy_power9 __strncpy_power8 __strncpy_power7 __strncpy_ppc Length 16, n 16, alignment 1/ 1: 6.44861 2.51617 2.54878 5.94753 9.41467 Length 16, n 16, alignment 1/ 1: 6.4448 2.51688 2.56978 5.86275 9.52956 Length 16, n 16, alignment 1/ 2: 6.51392 2.53026 2.55617 5.96487 9.51182 Length 16, n 16, alignment 2/ 1: 6.5421 2.5026 2.82458 5.95353 9.36524 Length 2, n 4, alignment 7/ 2: 8.02857 2.19272 4.35397 4.97347 8.60923 Length 4, n 2, alignment 2/ 7: 6.04262 1.66226 2.31865 3.27123 6.23803 Length 2, n 4, alignment 7/ 2: 8.15691 2.21924 4.48871 4.97328 8.3591 Length 4, n 2, alignment 2/ 7: 6.0428 1.66435 2.31671 3.2874 6.23902 Length 16, n 16, alignment 2/ 2: 6.75511 2.51667 2.82529 5.65252 9.32002 Length 16, n 16, alignment 2/ 2: 6.53469 2.51982 2.82678 5.93257 9.25613 Length 16, n 16, alignment 2/ 4: 6.3502 2.53333 2.82267 5.66948 9.35942 Length 16, n 16, alignment 4/ 2: 6.71533 2.51217 3.47278 5.95821 8.3249 Length 4, n 8, alignment 6/ 4: 7.85332 2.21708 5.68665 4.83111 9.07271 Length 8, n 4, alignment 4/ 6: 5.93863 1.67938 2.67249 3.07391 7.90751 Length 4, n 8, alignment 6/ 4: 8.24352 2.16644 5.22268 5.04674 9.10352 Length 8, n 4, alignment 4/ 6: 5.88514 1.67966 2.67286 3.29382 7.66757 Length 16, n 16, alignment 3/ 3: 6.55525 2.52511 3.06709 5.95625 9.23173 Length 16, n 16, alignment 3/ 3: 6.66344 2.50855 3.11771 5.96121 8.99767 Length 16, n 16, alignment 3/ 6: 6.82163 2.53355 3.0638 5.96451 9.09031 Length 16, n 16, alignment 6/ 3: 6.35636 2.51634 4.17868 5.95112 7.82576 Length 8, n 16, alignment 5/ 6: 7.46873 2.23953 4.33782 5.76124 10.2851 Length 16, n 8, alignment 6/ 5: 5.63643 1.88233 2.32899 4.72233 5.79268 Length 8, n 16, alignment 5/ 6: 7.47291 2.65201 3.9103 5.40334 10.3902 Length 16, n 8, alignment 6/ 5: 5.73738 1.8787 2.32749 4.69061 6.03053 Length 16, n 16, alignment 4/ 4: 6.63998 2.5166 3.5133 5.83764 8.17814 Length 16, n 16, alignment 4/ 4: 6.6866 2.51915 3.5831 5.96121 8.32436 Length 16, n 16, alignment 4/ 0: 6.58543 2.51529 3.38441 5.96909 8.03797 Length 16, n 16, alignment 0/ 4: 6.6541 1.87852 2.45328 5.96068 7.32961 Length 16, n 32, alignment 4/ 0: 9.37236 3.00744 5.92214 7.25884 11.1515 Length 32, n 16, alignment 0/ 4: 6.2795 1.87939 2.45688 5.96206 7.03327 Length 16, n 32, alignment 4/ 0: 9.24513 3.00344 5.97977 6.94778 11.0213 Length 32, n 16, alignment 0/ 4: 6.45422 1.87851 2.45698 5.96172 7.32939 Length 16, n 16, alignment 5/ 5: 6.53949 2.51619 3.88095 5.96091 9.05987 Length 16, n 16, alignment 5/ 5: 6.47371 2.51703 3.91695 5.96417 9.24674 Length 16, n 16, alignment 5/ 2: 6.5493 2.5163 3.78779 5.95898 9.44104 Length 16, n 16, alignment 2/ 5: 6.70967 2.52226 2.82034 5.96365 9.37646 Length 32, n 64, alignment 3/ 2: 14.0298 3.74521 6.80923 11.2825 12.8659 Length 64, n 32, alignment 2/ 3: 9.53123 2.75624 3.21242 8.51653 12.6887 Length 32, n 64, alignment 3/ 2: 14.179 3.83256 6.56898 11.3584 15.2479 Length 64, n 32, alignment 2/ 3: 9.53184 2.75305 3.21245 8.37087 14.1081 Length 16, n 16, alignment 6/ 6: 6.42159 2.51726 4.38574 5.9562 7.12266 Length 16, n 16, alignment 6/ 6: 6.67028 2.51692 4.2448 5.9544 7.81439 Length 16, n 16, alignment 6/ 4: 6.42402 2.51636 4.23817 5.96162 7.23351 Length 16, n 16, alignment 4/ 6: 6.60107 2.53036 3.54038 5.95837 8.32176 Length 64, n 128, alignment 2/ 4: 15.5573 4.80414 7.45917 11.5659 16.9298 Length 128, n 64, alignment 4/ 2: 11.6195 3.53279 4.80585 10.1583 11.6096 Length 64, n 128, alignment 2/ 4: 15.5233 4.7997 7.34679 11.6628 22.0123 Length 128, n 64, alignment 4/ 2: 11.6078 3.5492 4.77929 10.027 19.504 Length 16, n 16, alignment 7/ 7: 6.54515 2.5141 5.04928 5.95083 7.57587 Length 16, n 16, alignment 7/ 7: 7.00425 2.51299 5.06765 5.92888 8.25286 Length 16, n 16, alignment 7/ 6: 6.62954 2.51922 5.07189 6.02372 7.72968 Length 16, n 16, alignment 6/ 7: 6.34475 2.51841 4.36954 5.95968 7.78498 Length 128, n 256, alignment 1/ 6: 17.9386 7.60767 9.40348 16.5301 20.6134 Length 256, n 128, alignment 6/ 1: 13.373 4.84375 7.34616 12.3919 15.1296 Length 128, n 256, alignment 1/ 6: 17.9186 7.6077 9.37853 16.686 39.2821 Length 256, n 128, alignment 6/ 1: 13.3632 4.91799 8.06183 12.4174 34.1655 Length 8, n 16, alignment 0/ 0: 7.36981 2.22579 4.22739 4.9063 7.24636 Length 32, n 16, alignment 0/ 0: 6.43465 1.87932 2.45308 2.41526 7.1679 Length 8, n 16, alignment 7/ 2: 7.48861 2.21639 3.75708 5.35882 8.45777 Length 32, n 16, alignment 7/ 2: 7.03412 2.3535 5.04692 5.95484 7.25068 Length 16, n 32, alignment 0/ 0: 9.10177 3.06646 4.81682 4.41358 9.89656 Length 64, n 32, alignment 0/ 0: 8.57287 2.53847 2.94869 2.70506 8.2629 Length 16, n 32, alignment 6/ 4: 9.20906 3.04216 6.37553 9.46301 10.2489 Length 64, n 32, alignment 6/ 4: 9.73117 2.75023 4.49311 7.7856 9.59261 Length 32, n 64, alignment 0/ 0: 10.9253 3.80104 4.83111 4.97682 12.1086 Length 128, n 64, alignment 0/ 0: 9.26987 3.15895 3.49112 4.31372 10.1329 Length 32, n 64, alignment 5/ 6: 14.1856 3.78089 7.1768 9.63551 13.9944 Length 128, n 64, alignment 5/ 6: 11.5298 3.5249 5.07847 9.96481 12.8245 Length 64, n 128, alignment 0/ 0: 12.0142 4.73085 5.98759 7.1613 15.0462 Length 256, n 128, alignment 0/ 0: 7.96029 4.50244 6.44433 5.38248 11.6022 Length 64, n 128, alignment 4/ 0: 12.4223 4.80085 7.79294 11.0101 15.5277 Length 256, n 128, alignment 4/ 0: 12.2371 4.79242 6.83902 13.2758 16.0479 Length 128, n 256, alignment 0/ 0: 13.9165 7.28703 8.13319 8.79111 16.9101 Length 512, n 256, alignment 0/ 0: 10.5083 6.49881 9.05173 9.03139 19.6212 Length 128, n 256, alignment 3/ 2: 18.025 7.45493 9.86636 18.7234 20.5106 Length 512, n 256, alignment 3/ 2: 16.9588 7.07807 9.97969 23.4911 25.4407 Length 256, n 512, alignment 0/ 0: 17.6801 12.5811 15.3595 13.9989 28.5549 Length 1024, n 512, alignment 0/ 0: 16.379 10.7794 16.4748 16.7344 37.8286 Length 256, n 512, alignment 2/ 4: 23.2012 13.2761 14.3776 26.3752 31.6336 Length 1024, n 512, alignment 2/ 4: 25.4264 12.1716 17.2608 42.2122 47.425 Length 512, n 1024, alignment 0/ 0: 21.0239 23.0736 19.8285 21.0169 48.0091 Length 2048, n 1024, alignment 0/ 0: 28.424 19.323 36.917 35.4247 68.1661 Length 512, n 1024, alignment 1/ 6: 32.3159 24.2617 21.4919 46.5936 55.163 Length 2048, n 1024, alignment 1/ 6: 43.0359 21.6207 37.7643 77.5705 83.2998