From nobody Tue May 30 08:19:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QVlgY3Y2fz4Y4wg; Tue, 30 May 2023 08:19:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QVlgY33nfz3k0f; Tue, 30 May 2023 08:19:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1685434793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cGv5xqyzxtsh56gwyfnEEPVrkceaWzraGif7mXQZlFs=; b=ASBo3RLxXPyxnJMFPWTP/hecj/HGyXY9t8O9C/ldauJXeLbuc7O2q14e1fC/W4C2K78son jixEV1SpQOdWlOx4NxDxbZ9w65xwxK/dvmfNnTUSAeF9yG7hrouz502SSSPByoPzw9nKbX wdl03nWvfFTD2PUHl+sOxKuC6jXsJnnhu/wxs8zI/vgvbKuT4Qvh7MdlCR8lWVkm2RANmK Q5tUGk/XFrktpAs0qdMMCu0AuuxisJV2AmIQxVQz9BHdKINbt86hUPtZyyLjYrGl/18WlM eu5hOixmvrSHSA3R0daWY8MzJMMqJgqWVsq999fYihh9mtSbNPKSbGt8/cQj2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1685434793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cGv5xqyzxtsh56gwyfnEEPVrkceaWzraGif7mXQZlFs=; b=JjJu8YUQV/UXTbO2Lupz7On/kIT8RIqmfjDN8fzF35tSmapk6pL5P3KoMAv2S+bl/7ZVuJ lPTwo/IznVHvHIUX8b23SGsDUIbOW5ySBSGkz9nnizGcV7XPgiagFhU5OgyLe9fopiUPhX /KR2d8qVa+CIZVl8+XwZvlpIcLmSMgLZIPzvlOZ5rb41Ezum0g/lHN9Om623PjcQG9fPxw qE82zxgpPDYHodoAqEBW6EdLnS7Uja9+d1g5zWFrDqFWBRSN3AbM2233pdPBg/pemIbhBk k7gH4uhmxJb+/LxMy72+3VNr4ZqRZoMAxdRQcr81VELzhaDOD+LI5u0/uYq+2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1685434793; a=rsa-sha256; cv=none; b=jD2afg49C1WA35JpDls+TbKjV8dBEIL7wFFHtQRLmPgepO/WfGcNCBtHOOq5tZZRoUg/Vi E9KQ0+YZG2umhFDLtpY/oYdXsIgle5tUhK0T4d1rFyJKBOyYu3GhgfEEpUaffdzvUf2Pgt JrpY04mKJXgjrgFIWeLB2SBQBU85p1CSwaQc6l4+Y7/aFBGV5coKxQZhGGHm+ijfjiHZVo Pes11LBY4+i0Tat4vuP7ajTOWcb+tkVtt9Akw1LjaVaS0cOltpHMHbCpBerX4DUKWXaQD4 tlbycOaeCzpml7JGJI9Plt/0hn0UYBSZJaycgQ9BiK3Dmr9sfo4REldJ5742Ug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QVlgY1znGzm09; Tue, 30 May 2023 08:19:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34U8JrZf039934; Tue, 30 May 2023 08:19:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34U8JrK1039933; Tue, 30 May 2023 08:19:53 GMT (envelope-from git) Date: Tue, 30 May 2023 08:19:53 GMT Message-Id: <202305300819.34U8JrK1039933@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 4f2c2a122c6f - main - avx_sig: Adapt avx_sig test for Aarch64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f2c2a122c6fc1e129f93767234ae8107fcf5d0d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=4f2c2a122c6fc1e129f93767234ae8107fcf5d0d commit 4f2c2a122c6fc1e129f93767234ae8107fcf5d0d Author: Dmitry Chagin AuthorDate: 2023-05-30 08:19:40 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-30 08:19:40 +0000 avx_sig: Adapt avx_sig test for Aarch64 Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D40309 --- tools/test/avx_sig/Makefile | 3 +++ tools/test/avx_sig/avx_sig.c | 8 +++++- tools/test/avx_sig/c2x2c_aarch64.S | 55 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) diff --git a/tools/test/avx_sig/Makefile b/tools/test/avx_sig/Makefile index 695cdc0a4a94..13a8d3546a83 100644 --- a/tools/test/avx_sig/Makefile +++ b/tools/test/avx_sig/Makefile @@ -10,5 +10,8 @@ LIBADD= pthread .if ${MACHINE_CPUARCH} == "amd64" SRCS+= c2x2c_amd64.S .endif +.if ${MACHINE_CPUARCH} == "aarch64" +SRCS+= c2x2c_aarch64.S +.endif .include diff --git a/tools/test/avx_sig/avx_sig.c b/tools/test/avx_sig/avx_sig.c index 6ead5d8ce312..19fb85f2e803 100644 --- a/tools/test/avx_sig/avx_sig.c +++ b/tools/test/avx_sig/avx_sig.c @@ -48,14 +48,20 @@ #define nitems(x) (sizeof((x)) / sizeof((x)[0])) #endif +#if defined(__amd64__) #define SIMDRNAM "xmm" +#define NREGS 16 +#elif defined(__aarch64__) +#define SIMDRNAM "q" +#define NREGS 32 +#endif struct simdreg { uint8_t simd_bytes[16]; }; struct simd { - struct simdreg simdreg[16]; + struct simdreg simdreg[NREGS]; }; void cpu_to_simd(struct simd *simd); diff --git a/tools/test/avx_sig/c2x2c_aarch64.S b/tools/test/avx_sig/c2x2c_aarch64.S new file mode 100644 index 000000000000..eebe1f334546 --- /dev/null +++ b/tools/test/avx_sig/c2x2c_aarch64.S @@ -0,0 +1,55 @@ +/* + * This file is in public domain. + * Written by Dmitry Chagin + * + * $FreeBSD$ + */ + + .global cpu_to_simd + .type cpu_to_simd, @function +cpu_to_simd: + stp q0, q1, [x0, #( 0 * 16)] + stp q2, q3, [x0, #( 2 * 16)] + stp q4, q5, [x0, #( 4 * 16)] + stp q6, q7, [x0, #( 6 * 16)] + stp q8, q9, [x0, #( 8 * 16)] + stp q10, q11, [x0, #(10 * 16)] + stp q12, q13, [x0, #(12 * 16)] + stp q14, q15, [x0, #(14 * 16)] + stp q16, q17, [x0, #(16 * 16)] + stp q18, q19, [x0, #(18 * 16)] + stp q20, q21, [x0, #(20 * 16)] + stp q22, q23, [x0, #(22 * 16)] + stp q24, q25, [x0, #(24 * 16)] + stp q26, q27, [x0, #(26 * 16)] + stp q28, q29, [x0, #(28 * 16)] + stp q30, q31, [x0, #(30 * 16)] + ret + + .size cpu_to_simd, . - cpu_to_simd + + + .global simd_to_cpu + .type simd_to_cpu, @function +simd_to_cpu: + ldp q0, q1, [x0, #( 0 * 16)] + ldp q2, q3, [x0, #( 2 * 16)] + ldp q4, q5, [x0, #( 4 * 16)] + ldp q6, q7, [x0, #( 6 * 16)] + ldp q8, q9, [x0, #( 8 * 16)] + ldp q10, q11, [x0, #(10 * 16)] + ldp q12, q13, [x0, #(12 * 16)] + ldp q14, q15, [x0, #(14 * 16)] + ldp q16, q17, [x0, #(16 * 16)] + ldp q18, q19, [x0, #(18 * 16)] + ldp q20, q21, [x0, #(20 * 16)] + ldp q22, q23, [x0, #(22 * 16)] + ldp q24, q25, [x0, #(24 * 16)] + ldp q26, q27, [x0, #(26 * 16)] + ldp q28, q29, [x0, #(28 * 16)] + ldp q30, q31, [x0, #(30 * 16)] + ret + + .size simd_to_cpu, . - simd_to_cpu + + .section .note.GNU-stack,"",@progbits