From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id B86E93858D28 for ; Fri, 24 Nov 2023 12:06:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B86E93858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B86E93858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700827617; cv=none; b=UqREfscFaBMh9W4fbenBMlIy0nAnHOqnQxgyPtC7soNpx0VelEOMon1AHVibNc4IYJ6ynPiKv/2Nl+SBe/dwJXGPbNRvawBOc1ZabLvSIoVqKuIKaL9S/8Y3/KwiFDYABHZ4UasmLm+A41iPq7WecNWbxT0omIqt8r04uYMkq4A= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700827617; c=relaxed/simple; bh=4Ovp1FkZn7cpNAmk4cJlKOkrkU2WEgoTtaNO84juu8Y=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=ro++dHPVvlQuNQ0AHifJRPGMpx9u+kp4Skzr1Z2HiMegm1ihAvWK2ulqDgkoqs5kLAt9nGNfk8ZzYYbxq8uv4IEVfA4/3KrZPAhdykUtiOpLKgkWPM3KbAV9GuQt0xAQ/qH3NLZ/LG+eNpolmMZ20SvfXOKmdcvKb7g0JpqO6rs= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0116F1063; Fri, 24 Nov 2023 04:07:42 -0800 (PST) Received: from localhost (e121540-lin.manchester.arm.com [10.32.110.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D43C23F7A6; Fri, 24 Nov 2023 04:06:54 -0800 (PST) From: Richard Sandiford To: Victor Do Nascimento Mail-Followup-To: Victor Do Nascimento ,, , , richard.sandiford@arm.com Cc: , , Subject: Re: [PATCH 5/5] aarch64: rcpc3: Add intrinsics tests References: <20231109141300.3542453-1-victor.donascimento@arm.com> <20231109141300.3542453-6-victor.donascimento@arm.com> Date: Fri, 24 Nov 2023 12:06:53 +0000 In-Reply-To: <20231109141300.3542453-6-victor.donascimento@arm.com> (Victor Do Nascimento's message of "Thu, 9 Nov 2023 14:12:48 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-22.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_NONE,KAM_DMARC_STATUS,KAM_LAZY_DOMAIN_SECURITY,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Victor Do Nascimento writes: > Add unit test to ensure that added intrinsics compile to the correct > `LDAP1 {Vt.D}[lane],[Xn]' and `STL1 {Vt.d}[lane],[Xn]' instructions. > > gcc/testsuite/ChangeLog: > > * gcc.target/aarch64/acle/rcpc3.c: New. OK, thanks. Richard > --- > gcc/testsuite/gcc.target/aarch64/acle/rcpc3.c | 47 +++++++++++++++++++ > 1 file changed, 47 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/aarch64/acle/rcpc3.c > > diff --git a/gcc/testsuite/gcc.target/aarch64/acle/rcpc3.c b/gcc/testsuite/gcc.target/aarch64/acle/rcpc3.c > new file mode 100644 > index 00000000000..689d047ab91 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/aarch64/acle/rcpc3.c > @@ -0,0 +1,47 @@ > +/* Test the rcpc3 ACLE intrinsics. */ > +/* { dg-do compile } */ > +/* { dg-options "-O2 -march=armv8.2-a+rcpc3" } */ > +#include > +#include > + > +#define TEST_LDAP(TYPE, T) \ > + TYPE##x##1_t T##1_test (TYPE##_t const * ptr, TYPE##x##1_t src) { \ > + return vldap1_lane_##T##64 (ptr, src, 0); \ > + } > + > +#define TEST_LDAPQ(TYPE, T) \ > + TYPE##x##2_t T##2_test (TYPE##_t const * ptr, TYPE##x##2_t src) { \ > + return vldap1q_lane_##T##64 (ptr, src, 1); \ > + } > + > +#define TEST_STL(TYPE, T) \ > + void T##1s_test (TYPE##_t * ptr, TYPE##x##1_t src) { \ > + vstl1_lane_##T##64 (ptr, src, 0); \ > + } > + > +#define TEST_STLQ(TYPE, T) \ > + void T##2s_test (TYPE##_t * ptr, TYPE##x##2_t src) { \ > + vstl1q_lane_##T##64 (ptr, src, 1); \ > + } > + > +TEST_LDAP (uint64, u); > +TEST_LDAP (int64, s); > +TEST_LDAP (float64, f); > +TEST_LDAP (poly64, p); > +/* { dg-final { scan-assembler-times {ldap1\t\{v\d.d\}\[0\], \[x\d\]} 4 } } */ > +TEST_LDAPQ (uint64, u); > +TEST_LDAPQ (int64, s); > +TEST_LDAPQ (float64, f); > +TEST_LDAPQ (poly64, p); > +/* { dg-final { scan-assembler-times {ldap1\t\{v\d.d\}\[1\], \[x\d\]} 4 } } */ > + > +TEST_STL (uint64, u); > +TEST_STL (int64, s); > +TEST_STL (float64, f); > +TEST_STL (poly64, p); > +/* { dg-final { scan-assembler-times {stl1\t\{v\d.d\}\[0\], \[x\d\]} 4 } } */ > +TEST_STLQ (uint64, u); > +TEST_STLQ (int64, s); > +TEST_STLQ (float64, f); > +TEST_STLQ (poly64, p); > +/* { dg-final { scan-assembler-times {stl1\t\{v\d.d\}\[1\], \[x\d\]} 4 } } */