From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx08-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) by sourceware.org (Postfix) with ESMTPS id 3203C3858D26 for ; Wed, 22 May 2024 11:15:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3203C3858D26 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 3203C3858D26 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=1716376519; cv=none; b=TaN0N+NWeh0GNEHy9r6PQIv996Uy/7FvsYMLCxNeZvb0kRyDeLLD5YzBKIPw9NkK1W2phi/Ztef5QiOysXSWI+vdtYBqfS66AzED93tWHW/3e+fnc3AQ6L89ToAvmTzpr/CU3dlYyYxkMwAY1XDmFbE0T4D6V6Ikntq42n3vOJ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716376519; c=relaxed/simple; bh=M8XZ2V2Jt/kVd+7C8h08VzUXO1XMqHEIuD2fLKbcCJY=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=ZAA1o0Uh/+sOZ4cdgFnwZz0i3HQcHw7TWxm2JJ5gCTmU1POaK9Jh3fqUj9fENVr/f0BhdSkfonhFpzhCKb9zQPcTmc6rOGZzCwX6ppRKuOa78Umfn8AMqT/z9iwhnWtLer5hSdQhqL2vouRnTJCfSnKUFm+Vy+Vv3abGY3BfpcY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0369457.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 44M8GFQX005045; Wed, 22 May 2024 13:15:12 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h= message-id:date:mime-version:subject:to:cc:references:from :in-reply-to:content-type:content-transfer-encoding; s= selector1; bh=kXDkBWy3IVpKLL2uxlg+XJx3hdeW/FPVJhZUXmLVLH8=; b=QD flJXj41sM4Ym2NWprNiqUS/oLpYFrIP/mm2nXn3L5Kt5cf/NqFjxr8ER/GfnSQ13 iAjEtXo+zOt6IEI3yOwYQ1Vx5yTUO95bPmxbSPM5jOkZplmdrzufyjMWep47nhBq zztWutqZmyLkc4kR8Y7hPTn8w/woHLAWvCzvqsnEbHQt7gGTsQB8OPI0f6iotR0V eg41OyEeZQclp3h9XneO9tz5dbnJZtkcIV6lTK5kFmEpiT+Abfam5Bp8gvPmRXwV iHgiihdD3ggPH7eKguuRvXp6dgp7ZHVtiVGr4Y0Jx31Hr45k+NP9LtdIqjfgbBjF M3CBzlXIKi3tbZCYAyBw== 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 3y8vqhbvxa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 22 May 2024 13:15:11 +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 8004840045; Wed, 22 May 2024 13:15:07 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node3.st.com [10.75.129.71]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id D3E9B216EF9; Wed, 22 May 2024 13:14:52 +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; Wed, 22 May 2024 13:14:52 +0200 Message-ID: <0c050cb3-e3fd-4a71-a49f-bd4b0138d975@foss.st.com> Date: Wed, 22 May 2024 13:14:51 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] testsuite: Verify r0-r3 are extended with CMSE To: "Richard Earnshaw (lists)" , CC: , References: <07fde3e9-c08a-4a05-839f-86c8a18efec3@arm.com> <20240502105045.2505591-1-torbjorn.svensson@foss.st.com> Content-Language: en-US From: Torbjorn SVENSSON In-Reply-To: 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-22_05,2024-05-22_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: Hello Richard, Thanks for the reply. From my point of view, at least the -fshort-enums part should be on all branches. Just to be clean, maybe it's easier to backport the entire patch? Unless you have an objection, I would like to go ahead and just backport it to all branches. Kind regards, Torbjörn On 2024-05-22 12:55, Richard Earnshaw (lists) wrote: > On 06/05/2024 12: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 >> > > Well you can [commit it to the release branches], but I'm not sure it's essential. It seems pretty unlikely to me that this would regress on a release branch without having first regressed on trunk. > > R. > >> 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 >>> +} >