From patchwork Tue Oct 13 13:11:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 40711 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 763EB386EC0B; Tue, 13 Oct 2020 13:12:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 763EB386EC0B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1602594722; bh=5joz9OMzKrG5Pyf0mk2didWK37fJWQGNFWVpFBnsO8I=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=jK/WfJB21uACUsr8WUTjJyKAnERcPj5VFtNqF3j/iVLFlHvS9hQpCd3c/SRsFIdGS yyD9fw2KUaEUZYAsOZwBlvQwtUBpxUbZi2ESqgeLmgZHI1cLpbHblIoPrdaR2LiWhy qf/LPhL2V1c9ZP8hS0pD3QzSzOZl1hs7PkF7WHQs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80075.outbound.protection.outlook.com [40.107.8.75]) by sourceware.org (Postfix) with ESMTPS id 5E5593857838 for ; Tue, 13 Oct 2020 13:11:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5E5593857838 Received: from DB6PR07CA0084.eurprd07.prod.outlook.com (2603:10a6:6:2b::22) by AM6PR08MB5173.eurprd08.prod.outlook.com (2603:10a6:20b:e5::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.27; Tue, 13 Oct 2020 13:11:57 +0000 Received: from DB5EUR03FT057.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:2b:cafe::2d) by DB6PR07CA0084.outlook.office365.com (2603:10a6:6:2b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.11 via Frontend Transport; Tue, 13 Oct 2020 13:11:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT057.mail.protection.outlook.com (10.152.20.235) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23 via Frontend Transport; Tue, 13 Oct 2020 13:11:56 +0000 Received: ("Tessian outbound e8cdb8c6f386:v64"); Tue, 13 Oct 2020 13:11:56 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 079de18a71463456 X-CR-MTA-TID: 64aa7808 Received: from 942967bbb478.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8FD7AB79-A9DB-4DB4-B28A-8BB0926284E3.1; Tue, 13 Oct 2020 13:11:50 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 942967bbb478.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 13 Oct 2020 13:11:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WKZ5rapynBgEYqU0ueGN11wmEkt60y7u1EuLYuPNHjNBkZiLQ9pqc3KbYQDPwaXjkGjlq3GZpO2fgEZ9cLAPyo1sf6l2t4oqRGGY7+OfwPrClwdepPmDk0RTSXYJ7kmhaz9J9pIm4Awn6nr0JkbIV/4RPCoDa1oOUlJg1QjYNX+qGt+byddNweRd9vbhsNherFaIgMiseVvIGCUVEzGO1xuafY7pZItsnkRwZwUG+fKP1LfePL3yd3LIXqtov0jo1oQ+VijbiELvj80RTo0UP7hGL5rZAbFvzwGDvKbVHb7YBv4v6PWw4Ekh9iEkCYs9XL0CW+FCsAdLCRjPQoOeqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5joz9OMzKrG5Pyf0mk2didWK37fJWQGNFWVpFBnsO8I=; b=Pe6gOwXh+L+Rf8FPG4VVbtvoK5WGhFozvdjBVsMbKTbAtEWFqCYgvBf5e8sGz9+WnF8Y7EnnspWgqPT0Wvc3/WOY/KO6k3Qvx0447qz5uC4vqxW+mvyYLZIuSEaaiyMIc15mJdQwYtx/nMlzfpPpCdhErC2GwaggM+augkjDSRVVmWG+o/HgH6qq8dZoR22A0EuEWqWKM4jpTJGdgl/MnZDLTOusFiL42wzqTkrj8mviLBOPTDYW1ZrwLw/uZ2O36/xnH5nlaqVXeqQt55br3Wh0NYpjW9QXIqB1uM7K/kKp6TpoJeScUTChVPI8rvWnBR9+5cOzE3YQ0rR9jrz0DQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Received: from VE1PR08MB5599.eurprd08.prod.outlook.com (2603:10a6:800:1a1::12) by VI1PR08MB3101.eurprd08.prod.outlook.com (2603:10a6:803:45::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.21; Tue, 13 Oct 2020 13:11:49 +0000 Received: from VE1PR08MB5599.eurprd08.prod.outlook.com ([fe80::60b7:2d8b:81cb:bc0d]) by VE1PR08MB5599.eurprd08.prod.outlook.com ([fe80::60b7:2d8b:81cb:bc0d%3]) with mapi id 15.20.3455.030; Tue, 13 Oct 2020 13:11:49 +0000 To: 'GNU C Library' Subject: [PATCH] AArch64: Use __memcpy_simd on Neoverse N2/V1 Thread-Topic: [PATCH] AArch64: Use __memcpy_simd on Neoverse N2/V1 Thread-Index: AQHWoWI1niknvXdxRky20WZGe08A8A== Date: Tue, 13 Oct 2020 13:11:48 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [82.24.199.97] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 3e656479-beae-4cc0-b28c-08d86f798fd8 x-ms-traffictypediagnostic: VI1PR08MB3101:|AM6PR08MB5173: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:133;OLM:133; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: VMvoDYXnRrj3Z8bUTwicQKb1kDSdqa3/6IblMo71bwhtyzMIo1PhslTl/NxMk4TT8A9csHdna71RUglZmjwK6TjglX1Fj6xivp4Jz1486pfIs4v330tfhksW3hWMTI4HeqYxAvrXDLUyM25X2FzQ/d1B7NAwm9/2YUkJUzll4H2K/iIehfW7JGsWpTMTNv8ucaYeChWlj9PA9XloCAHDYtIUTAOkzgoKYh5bYzY3DU3YaWzt4aJWQXvtADbAgtO/GjMaFpbmJ+wHpGMDnRBkmrLf7GzEz/e8haLa9HjpO5gtlQIbABL3KK5lTQ9xTfr0s7ydpFHGh86deZ+kURuX6A== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR08MB5599.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(396003)(376002)(39860400002)(346002)(33656002)(5660300002)(9686003)(186003)(26005)(2906002)(71200400001)(7696005)(316002)(6506007)(478600001)(55016002)(8936002)(8676002)(66946007)(83380400001)(76116006)(64756008)(66476007)(66446008)(66556008)(52536014)(86362001)(6916009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 8SF4r+Uf4KPKJT2ZFL+vH0OidvixtrVxeMCW0U1VqEiagP+JedCM8OSifukYovGVQtGhZOJGqJepAnwkie7ZquY4dqwUwHbc8VfiUpIBTicbrwK1XIeHz9FoU0RVefUpHoIoSEKpCPgHIAleGCKZITqSxgGSNHQXD1Gp3AA7D1VqEHe70ParuxXyPyea+IDIlch585yINBlw0uwr+alCl9BZxydTA8NSC5XpmonCnN1qYOnh+l1a72v6LZJvzNr1h4P/2pRQfP33dIdOD+AvG3FWz9Zmtjo4589zLbE9iCzrSGaQq24KB16xcC4uN0yREDNqEEoswBMnElS2+cIR0zZSoc2jdMoSL2dDXA3G/yegLnuMUcaLJLpUljfMatWem357NYKpYEmRy9Plwyp7sZ2KwrOA/5ciypKRMifYchcUz7laqyZx2mPxG3aKlBAJ3Sn7Z4ubO5jSF4d+fyv1rc+4sjJvTYET73OpCXRlAdlpeWfOvUKzVr3qs8fP4cq4VCA/U0iLQN/g2nr2faUm671c/5y7gd/QBXScfzVnoDTOJ9aWJ2PI7Xw242xulCUCSfcpNe9zhmclMLOi8SdbHejjwDffljA+izlSKS+hHSEukprvc70re1V/tibJAluNqqG1m0T5GLdPutu2Fx9pmg== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3101 Original-Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT057.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: caa3bb27-41ef-4b59-43d8-08d86f798b73 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: E0Q1tc3Ht/Rq2LiKfakEEu87oWcHRPMIwY/n2sWZ8a/tYT6FxvepfmX+DMIbA7AWGS3jcx0/GSMfktCYaEzMWv1QCP8OrzRhO3T6BCId+KzpXUIIik38cK/1zyjaovaOt2Kmoz54tGgSmEpzE2STjsp38Ewa/YAFhaQS56UIHre1eHQXanhmTBUqNG4cLq65hJSDtVTSA5KkNR3xsqJ7KLvtBrwxk98OlktSIeBsJ/iAqEofGnSeAJXcUWuSGqtXAyUsuJTtzS/OvgrHMbWNj3YJlVpa5k88OiMYKK3I8Unm5iP3d7akFDQ/Rkkz0fgmRHOyP2mUyPksgwMDId5uOkJXNiDTZmq4dzQb8RDSqj34rJwhroe4pbR6tXD/QGHfoyyYQo+LLXyqslQvqOnWUg== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(376002)(39860400002)(396003)(346002)(46966005)(70586007)(70206006)(6506007)(26005)(478600001)(186003)(5660300002)(9686003)(33656002)(52536014)(2906002)(6916009)(336012)(83380400001)(86362001)(47076004)(82740400003)(7696005)(55016002)(82310400003)(81166007)(316002)(8936002)(8676002)(356005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2020 13:11:56.7924 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3e656479-beae-4cc0-b28c-08d86f798fd8 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT057.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5173 X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_LOTSOFHASH, KAM_NUMSUBJECT, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY 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-Patchwork-Original-From: Wilco Dijkstra via Libc-alpha From: Wilco Dijkstra Reply-To: Wilco Dijkstra Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Add CPU detection of Neoverse N2 and Neoverse V1, and select __memcpy_simd as the memcpy/memmove ifunc. Passes GLIBC testsuite. OK for commit? Reviewed-by: Adhemerval Zanella diff --git a/sysdeps/aarch64/multiarch/memcpy.c b/sysdeps/aarch64/multiarch/memcpy.c index 7cf5f033e8fcdcbfdfbfe73e6ad24d8b3fc79b66..799d60c98cfadfe0966a451d7e00af4040f719b8 100644 --- a/sysdeps/aarch64/multiarch/memcpy.c +++ b/sysdeps/aarch64/multiarch/memcpy.c @@ -41,7 +41,8 @@ libc_ifunc (__libc_memcpy, ? __memcpy_falkor : (IS_THUNDERX2 (midr) || IS_THUNDERX2PA (midr) ? __memcpy_thunderx2 - : (IS_NEOVERSE_N1 (midr) + : (IS_NEOVERSE_N1 (midr) || IS_NEOVERSE_N2 (midr) + || IS_NEOVERSE_V1 (midr) ? __memcpy_simd : __memcpy_generic))))); diff --git a/sysdeps/aarch64/multiarch/memmove.c b/sysdeps/aarch64/multiarch/memmove.c index ad10aa8ac6fba884ffb3736ed6e73d16b6eaa60c..46a4cb3a54c73c7c64d26ff8d022947e485d82b7 100644 --- a/sysdeps/aarch64/multiarch/memmove.c +++ b/sysdeps/aarch64/multiarch/memmove.c @@ -41,7 +41,8 @@ libc_ifunc (__libc_memmove, ? __memmove_falkor : (IS_THUNDERX2 (midr) || IS_THUNDERX2PA (midr) ? __memmove_thunderx2 - : (IS_NEOVERSE_N1 (midr) + : (IS_NEOVERSE_N1 (midr) || IS_NEOVERSE_N2 (midr) + || IS_NEOVERSE_V1 (midr) ? __memmove_simd : __memmove_generic))))); diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h index fc688450ee0e0f7cf58e73920263631a0ea7c8d6..00a4d0c8e75f5554120da6da9c079ed65904d394 100644 --- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h +++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h @@ -54,6 +54,10 @@ && MIDR_PARTNUM(midr) == 0x000) #define IS_NEOVERSE_N1(midr) (MIDR_IMPLEMENTOR(midr) == 'A' \ && MIDR_PARTNUM(midr) == 0xd0c) +#define IS_NEOVERSE_N2(midr) (MIDR_IMPLEMENTOR(midr) == 'A' \ + && MIDR_PARTNUM(midr) == 0xd49) +#define IS_NEOVERSE_V1(midr) (MIDR_IMPLEMENTOR(midr) == 'A' \ + && MIDR_PARTNUM(midr) == 0xd40) #define IS_EMAG(midr) (MIDR_IMPLEMENTOR(midr) == 'P' \ && MIDR_PARTNUM(midr) == 0x000)