From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) by sourceware.org (Postfix) with ESMTPS id BF6743858D1E for ; Tue, 21 May 2024 11:07:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BF6743858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=foss.st.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BF6743858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=91.207.212.93 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716289658; cv=none; b=HO9LifOi0M3CB2O2BABat6mCCT8+bCvQIZ+ZkOaMNflFEEfG/pg0AJJJaHrcF12f5UJidD0f7uraOrX2EaCGHWbV0YbqbzGjwmPqF4AF2edR1XxXIpGX3gplGM1wCJU6ZHmio2wTI68VEa1KLEjWGj9LAK0rJsWLNvU7PsJfIrU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716289658; c=relaxed/simple; bh=qRA8IpsNqsaaZebjXOc9uOF2sqtTnRkF6XzV91u5728=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:From:To; b=Y4WHi+mW5oMIF95uckMER36+/TigYlyEkpo++hJ6583+tBl5nEMRungSsdJ3LrEYGLQjBD5OFMd/xqIBK60eo8YF7v3i8cVNwyXZ2qIDpdQ9PRPJJYM40pwauqMuzQ5jaS6kAFvVOxY8pvluQ2oM5Tec9/p35Dimx4zxOvWmsNY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0046660.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 44L90fZS009724; Tue, 21 May 2024 13:07:31 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h= message-id:date:mime-version:subject:from:to:cc:references :in-reply-to:content-type:content-transfer-encoding; s= selector1; bh=KK3d6hODnZZc50vJwNMJJ9uMzBW/5lAmm4uYesgMJYw=; b=Ob pIo/OHi3+XYYYzNVQhkPueMvPsuSPMlczCwvP+ZeiTcVPRwQ0A5S4sT4WzreoEFa 6nVe933kYrN1rcIiE6c+vYBuRQT4u+QMjghz9QraKUZ9zyomCb0XAZOWnp0KFtrS eTLY/nEyv85xEPNLI4a1quJ40R7CnnrR4UPwOwz1zvMP7+BojxCsp+zbZT2iATal +3o5aj4Gv8dNi0XtMtDp31XP3s2oXVq0u0Zkt9jyhM+UGUFOTAfnFCEn+9al7Q7Z MPaCUYaXhbZSlnDO5KuCciJZSU+qP+qqLqXwnFOfCYEU7HiVmE1LJfWg6wvgtAYQ lUf0MRrKufkrbetoMH3A== Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3y6n6hk9u6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 May 2024 13:07:30 +0200 (MEST) Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id 67A8E40044; Tue, 21 May 2024 13:07:26 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node3.st.com [10.75.129.71]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 5C139215129; Tue, 21 May 2024 13:07:00 +0200 (CEST) Received: from [10.74.18.1] (10.74.18.1) by SHFDAG1NODE3.st.com (10.75.129.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 21 May 2024 13:06:59 +0200 Message-ID: Date: Tue, 21 May 2024 13:06:45 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PING^2] [PATCH v2] testsuite: Verify r0-r3 are extended with CMSE From: Torbjorn SVENSSON To: , , Richard Biener , Jakub Jelinek , Richard Sandiford CC: , References: <07fde3e9-c08a-4a05-839f-86c8a18efec3@arm.com> <20240502105045.2505591-1-torbjorn.svensson@foss.st.com> <88b756bf-21d8-4d2d-bd5b-6c795f93345e@foss.st.com> Content-Language: en-US In-Reply-To: <88b756bf-21d8-4d2d-bd5b-6c795f93345e@foss.st.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.74.18.1] X-ClientProxiedBy: EQNCAS1NODE3.st.com (10.75.129.80) To SHFDAG1NODE3.st.com (10.75.129.71) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.650,FMLib:17.12.28.16 definitions=2024-05-21_06,2024-05-21_01,2024-05-17_01 X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_LOW,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 List-Id: Gentle ping! Kind regards, Torbjörn On 2024-05-14 13:01, Torbjorn SVENSSON wrote: > Hi, > > I'm not sure if the previous "ok" from Richard on the v1 is enough for > this or if there needs another approval. > > Adding extra maintainers since Richard Earnshaw appears to be busy the > past weeks. > > Kind regards, > Torbjörn > > On 2024-05-06 13:50, Torbjorn SVENSSON wrote: >> Hi, >> >> Forgot to mention when I sent the patch that I would like to commit it >> to the following branches: >> >> - releases/gcc-11 >> - releases/gcc-12 >> - releases/gcc-13 >> - releases/gcc-14 >> - trunk >> >> Kind regards, >> Torbjörn >> >> On 2024-05-02 12:50, Torbjörn SVENSSON wrote: >>> Add regression test to the existing zero/sign extend tests for CMSE to >>> verify that r0, r1, r2 and r3 are properly extended, not just r0. >>> >>> boolCharShortEnumSecureFunc test is done using -O0 to ensure the >>> instructions are in a predictable order. >>> >>> gcc/testsuite/ChangeLog: >>> >>>     * gcc.target/arm/cmse/extend-param.c: Add regression test. Add >>>       -fshort-enums. >>>     * gcc.target/arm/cmse/extend-return.c: Add -fshort-enums option. >>> >>> Signed-off-by: Torbjörn SVENSSON >>> --- >>>   .../gcc.target/arm/cmse/extend-param.c        | 21 +++++++++++++++---- >>>   .../gcc.target/arm/cmse/extend-return.c       |  4 ++-- >>>   2 files changed, 19 insertions(+), 6 deletions(-) >>> >>> diff --git a/gcc/testsuite/gcc.target/arm/cmse/extend-param.c >>> b/gcc/testsuite/gcc.target/arm/cmse/extend-param.c >>> index 01fac786238..d01ef87e0be 100644 >>> --- a/gcc/testsuite/gcc.target/arm/cmse/extend-param.c >>> +++ b/gcc/testsuite/gcc.target/arm/cmse/extend-param.c >>> @@ -1,5 +1,5 @@ >>>   /* { dg-do compile } */ >>> -/* { dg-options "-mcmse" } */ >>> +/* { dg-options "-mcmse -fshort-enums" } */ >>>   /* { dg-final { check-function-bodies "**" "" "" } } */ >>>   #include >>> @@ -78,7 +78,6 @@ __attribute__((cmse_nonsecure_entry)) char >>> enumSecureFunc (enum offset index) { >>>     if (index >= ARRAY_SIZE) >>>       return 0; >>>     return array[index]; >>> - >>>   } >>>   /* >>> @@ -88,9 +87,23 @@ __attribute__((cmse_nonsecure_entry)) char >>> enumSecureFunc (enum offset index) { >>>   **    ... >>>   */ >>>   __attribute__((cmse_nonsecure_entry)) char boolSecureFunc (bool >>> index) { >>> - >>>     if (index >= ARRAY_SIZE) >>>       return 0; >>>     return array[index]; >>> +} >>> -} >>> \ No newline at end of file >>> +/* >>> +**__acle_se_boolCharShortEnumSecureFunc: >>> +**    ... >>> +**    uxtb    r0, r0 >>> +**    uxtb    r1, r1 >>> +**    uxth    r2, r2 >>> +**    uxtb    r3, r3 >>> +**    ... >>> +*/ >>> +__attribute__((cmse_nonsecure_entry,optimize(0))) char >>> boolCharShortEnumSecureFunc (bool a, unsigned char b, unsigned short >>> c, enum offset d) { >>> +  size_t index = a + b + c + d; >>> +  if (index >= ARRAY_SIZE) >>> +    return 0; >>> +  return array[index]; >>> +} >>> diff --git a/gcc/testsuite/gcc.target/arm/cmse/extend-return.c >>> b/gcc/testsuite/gcc.target/arm/cmse/extend-return.c >>> index cf731ed33df..081de0d699f 100644 >>> --- a/gcc/testsuite/gcc.target/arm/cmse/extend-return.c >>> +++ b/gcc/testsuite/gcc.target/arm/cmse/extend-return.c >>> @@ -1,5 +1,5 @@ >>>   /* { dg-do compile } */ >>> -/* { dg-options "-mcmse" } */ >>> +/* { dg-options "-mcmse -fshort-enums" } */ >>>   /* { dg-final { check-function-bodies "**" "" "" } } */ >>>   #include >>> @@ -89,4 +89,4 @@ unsigned char __attribute__((noipa)) enumNonsecure0 >>> (ns_enum_foo_t * ns_foo_p) >>>   unsigned char boolNonsecure0 (ns_bool_foo_t * ns_foo_p) >>>   { >>>     return ns_foo_p (); >>> -} >>> \ No newline at end of file >>> +}