From patchwork Wed Nov 5 22:05:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Pinski X-Patchwork-Id: 123595 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 50798385C6FE for ; Wed, 5 Nov 2025 22:06:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 50798385C6FE Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256 header.s=qcppdkim1 header.b=h2/Phn7S; dkim=pass (2048-bit key, unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.a=rsa-sha256 header.s=google header.b=hdfO782V X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by sourceware.org (Postfix) with ESMTPS id 404AF385C417 for ; Wed, 5 Nov 2025 22:05:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 404AF385C417 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=oss.qualcomm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oss.qualcomm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 404AF385C417 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1762380344; cv=none; b=bP1opBrZe0GPtC0Z91YMRPzT9aYDs5cZrZMLbDR0YQpFfu4XFzMTJ+MRtaxEIGD3p9u24VR+f1YnmoLB7VYw/VcDmoYlwrM+vh1+4Fh4uIcIxRepSDuJXn7aef2QvU5llYXMLoVtJlm6wVKSvZLohQsDtjUOgt4viOHye5shO5A= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1762380344; c=relaxed/simple; bh=U31yGk+xg6QGrzaWLDv5ZUG70q05Zri/A4gpCLNlIBc=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=AfvWyfIpns39FLbvx4Ah8LyK2H8tLSn0D4hrRCCYqqPkJdv9J+nFK0C1PxurgICSSkp8BaDhrR1yZ4dfXWDlVmnVVsRN4YHAHhhIpTSFaBhOW9mTPVS+j2kCGsm39Ts6HvUGHKufWeZc7c13cdvv51eW6l0pPse7ApUknLKy03Y= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 404AF385C417 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5A5KErMr1738342 for ; Wed, 5 Nov 2025 22:05:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=ujIikSsMfExhfOOnHZSLfeBrrcSkNtrMvAt C+LM4oHc=; b=h2/Phn7Sc+8SEmFKiedMl/Aho5wXpYmdx2lrxNoIs/bUOCE8VXn MMGdoG5Ny2+A7s+0qqCNh54FE5bTzj6I1hYfcLQi9meq8jUEgUeiNQGG6nmYLIMX 58n62dNJcz3kTH6Y9hXtsUbhdkx4xS6mgo5MT/cRsUaqocIhJiNqZcMA8Yvp6I1w RpSCEiamLGIuHGBUxBXgA8aqS48hL+pQCTL/2QOMeGMjVGQYktr16Ca0ABD0Pd3u TYQdcLN+f6YMpOMvJKh/vr2XvmAQs+JWR+fcKpFDUTunaZ063TvU0n6sg+B5BnkO 9whVP1U1Seig0wOkJ0Z0DCk11/6GrCUeSsw== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4a8an3ru3e-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 05 Nov 2025 22:05:43 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-33baf262850so340291a91.0 for ; Wed, 05 Nov 2025 14:05:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1762380342; x=1762985142; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ujIikSsMfExhfOOnHZSLfeBrrcSkNtrMvAtC+LM4oHc=; b=hdfO782VV7S/RlP1yq22Jco6rT0wTRB6v/fd7siGgkesv/QDo81LVCoZxbXgCCSvcg 77Ionu8v3Jkc/5DKAS/LOASzim8DL8wwWyLW03Crp5OcEjXhaAJVX9QNopL+KQo6WZvX aHQMPfeWvs0bI81My3YdNWuyszQ41pM98kzskue9pAge9f267+d/Lzd6ddZeI4H8+fGG H7G5nmDq80wKae8Avj71TOJQxVYSfJlSVmkva4FzETx074zgBk6BoN1HTb/dl4iR3Xgv JN8hlL99Su9RRm+0eWQ3FftMSkt6yUpwSfWJ9LouaVlBhSddRkuAjTfkDXhN9S3i01/P whIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762380342; x=1762985142; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ujIikSsMfExhfOOnHZSLfeBrrcSkNtrMvAtC+LM4oHc=; b=JmVd5tOYQ0djFIfmJo9ymhV+8M4jzmnKHkU5sg/CxkDNzLBq6vt3lGsA5BNwrHNfU6 q4Oc8XPwAE/hGAGgiLaFBJ1j9tcvhykb2T3VLTFzFyV8PSwS+5iNXxLMnSwMkMSVQOCP MmScRjWfYyQp8h8UtMDiwrMGmaMMdS0SZfcepPd/+Wt0TMBuiNS5cBSYJWCkncSJqh6a +PLAHkBG9LLj1cPpuqReOVQVgpOZIgzEj7VLSmppxC9YcbnXjBn6JYcmo0EuspM+oHaY P6yaY92DBqsQ4I1NnQ1SbOKJivLdaiyCdKHQvBGN21ZUoSZq1h1QrlcANa4fsr1YArVW ZQhA== X-Gm-Message-State: AOJu0YxKE3WSdPIpGTqJ3HgekJQgilwm+AA2yD4tzDStENP/Dp+lXtTg 1g+zg4ZyHGZ+2UXe8MYhDdgkJ5+y/Z7K8BsS1v6o5jRuaojVs0qqrdvldbOe+FIuTgpkeWeRNCB MqynXb/JqNIJoL4pqPIDFqsGed3mFimBYBjPdM5VTOFllJ9S2WFMKgjBsDXDBkiUUGb2uNgs= X-Gm-Gg: ASbGncucDEtbaRrOlRs2YA8fRbYCkI/nf60MvHJ3dJHoFdfdJabwH0Zrg80FTY8/otQ /sdJE/hgBUopa5bxBDtajMcZz9rs/3zDgDENsylRjqJphKoPSiNeOJ212+SqvOPdym3EgOUE5h4 KKsiyehCEM/T5CQtEcut2j/QqZ6m86YJkM/BLORZVHW5WMy2IXTSA8YSExOw0q+Q/yqdnmeRqoo yTFlL3zJ2V9U0QJXtnli5Yrf4bIMiJtGU1i7gUjYk0ASqdj+bTgQofT/+6bKl6mJR6Cj5mk6fnK /NDJE7YbtMLZvTeqwszxA3WOBVnVVTax8JpRx1PapQ+zXPByYQX4k4sjDuxUu59Z1md4X85KZ2j 0KjeSZS1DEmG8+vTM4bvYnz40 X-Received: by 2002:a17:90b:582e:b0:32e:6fae:ba52 with SMTP id 98e67ed59e1d1-341a6c1e406mr5231665a91.6.1762380342407; Wed, 05 Nov 2025 14:05:42 -0800 (PST) X-Google-Smtp-Source: AGHT+IEh9Zz3x5QdObWdH22Vdu3/zuR2gWAktNr1lEgRBqbjh9hZ4m/A8ADsmwX5f36wkJk+xUTuWg== X-Received: by 2002:a17:90b:582e:b0:32e:6fae:ba52 with SMTP id 98e67ed59e1d1-341a6c1e406mr5231564a91.6.1762380340568; Wed, 05 Nov 2025 14:05:40 -0800 (PST) Received: from xeond2.wrightpinski.org ([98.97.38.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7af8024aed2sm447940b3a.32.2025.11.05.14.05.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Nov 2025 14:05:39 -0800 (PST) From: Andrew Pinski To: libc-alpha@sourceware.org Cc: Andrew Pinski Subject: [PATCH] Aarch64: Use oryon1's memset/memcpy for Qualcomm's oryon-2 cores Date: Wed, 5 Nov 2025 14:05:15 -0800 Message-ID: <20251105220531.1152669-1-andrew.pinski@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Authority-Analysis: v=2.4 cv=W981lBWk c=1 sm=1 tr=0 ts=690bca37 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=x5hidN8aUVXT+XSx5Z+Zfg==:17 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=UxrExL__u4ixf3TkL3gA:9 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-GUID: jzCHpK21Qr9HDnHJ93m7sqJRhBCogNKm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTA1MDE3NCBTYWx0ZWRfX0YSuItHsFAgK 5vfAY57zx6KGwx/8m/HEunhK8qR8k9amOEV6/gzpUHa6JjPkM1lPkx67BOwh1oBD+ngrN8SP0Mw tcRG+VO+zPLlTQ1gZ+6xdNZHOKgP60w3fdo91bTjjsyNWjPbNTSyToc9eDRcYCdulyYKZT6suHW XG4osUdVaeFnTr23UbMSubgQoRt36YujomsrTkZZ9O6BW4zjn0k0xEsfVD40ky5g2QSChfLhSup E4pVZxKtWDSlUcqY4RZxAVz7anwL+wn5XxkDDEbVUZSBY+jN2y3z3ahWZ6NTX9vYcOjeNDwgFM3 +Eq9x6ClLg0juhDyPw7SwBi6T/cj7arEn+96rorMLA24Iezp9WVSkt+iU5/5/5/s5e+szgO+zFU Rp+mSHj4ZuM27mfYp7990qVh4rShIA== X-Proofpoint-ORIG-GUID: jzCHpK21Qr9HDnHJ93m7sqJRhBCogNKm X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-05_08,2025-11-03_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 adultscore=0 spamscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511050174 X-Spam-Status: No, score=-43.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org Oryon-2 cores are very similar when it comes to performance to oryon-1 cores except they include SVE support so the check for oryon-1/2 needs to moved in front of the check for SVE. Signed-off-by: Andrew Pinski --- sysdeps/aarch64/cpu-features.h | 4 ++++ sysdeps/aarch64/multiarch/memcpy.c | 6 +++--- sysdeps/aarch64/multiarch/memset.c | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/sysdeps/aarch64/cpu-features.h b/sysdeps/aarch64/cpu-features.h index ef4e947e8c..d74b18b39a 100644 --- a/sysdeps/aarch64/cpu-features.h +++ b/sysdeps/aarch64/cpu-features.h @@ -54,6 +54,10 @@ || (MIDR_PARTNUM(midr) == 0x002 \ && MIDR_VARIANT(midr) == 0))) +#define IS_ORYON2(midr) (MIDR_IMPLEMENTOR(midr) == 'Q' \ + && MIDR_PARTNUM(midr) == 0x002 \ + && MIDR_VARIANT(midr) != 0) + struct cpu_features { uint64_t midr_el1; diff --git a/sysdeps/aarch64/multiarch/memcpy.c b/sysdeps/aarch64/multiarch/memcpy.c index 894dabe2ef..a3fa006c96 100644 --- a/sysdeps/aarch64/multiarch/memcpy.c +++ b/sysdeps/aarch64/multiarch/memcpy.c @@ -43,6 +43,9 @@ select_memcpy_ifunc (void) if (mops) return __memcpy_mops; + if (IS_ORYON1 (midr) || IS_ORYON2 (midr)) + return __memcpy_oryon1; + if (sve) { if (IS_A64FX (midr)) @@ -50,9 +53,6 @@ select_memcpy_ifunc (void) return prefer_sve_ifuncs ? __memcpy_sve : __memcpy_generic; } - if (IS_ORYON1 (midr)) - return __memcpy_oryon1; - return __memcpy_generic; } diff --git a/sysdeps/aarch64/multiarch/memset.c b/sysdeps/aarch64/multiarch/memset.c index 2b0a58b8fa..0534ae5b1b 100644 --- a/sysdeps/aarch64/multiarch/memset.c +++ b/sysdeps/aarch64/multiarch/memset.c @@ -46,6 +46,9 @@ select_memset_ifunc (void) if (mops) return __memset_mops; + if ((IS_ORYON1 (midr) || IS_ORYON2 (midr)) && zva_size == 64) + return __memset_oryon1; + if (sve) { if (IS_A64FX (midr) && zva_size == 256) @@ -55,9 +58,6 @@ select_memset_ifunc (void) return __memset_sve_zva64; } - if (IS_ORYON1 (midr) && zva_size == 64) - return __memset_oryon1; - if (IS_KUNPENG920 (midr)) return __memset_kunpeng;