From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x241.google.com (mail-oi1-x241.google.com [IPv6:2607:f8b0:4864:20::241]) by sourceware.org (Postfix) with ESMTPS id 7AB29385BF81 for ; Wed, 8 Apr 2020 18:29:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7AB29385BF81 Received: by mail-oi1-x241.google.com with SMTP id r21so855735oij.11 for ; Wed, 08 Apr 2020 11:29:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=bmv7DV1hfHHbxWK1El1gvuQwUmXusBlNjLhTU6TKZIQ=; b=nyOM/rPOH8mLw4RGGHlzlpiXdadCrQAhNWj0vD2rP/Rt5GSWzppvXoRtkicadqTQuW uZl0KNwTyTGzFHncnYJlmVgO8brXl8bnJOk7mQduySw0QVZ4iKVcIzYaH/ntVBY/sEUI JIRmkG8UHWQbopKpciQ/EmOIwRc566sfkwGn0dK93Ps15lQWqZNzKjtvVPjNeeBN5bze K108CqK77F8gn2TSo/sxu6PtH5XwtMyGcDCkoYuhqJW212jBjyFKaQuErd39kLw4V3hw sweq/LViB5P5R/U3H87dS4lt7V7SzM16vI89F2TLg9IfIRCE3dWWqasrXmaIeFSO9TjB Ix7A== X-Gm-Message-State: AGi0PuboZ3CFPXbnhC4DQ6KcvA8fH4WCQkerQqG/Xk3el4sVZ1xwN75w O0kVbzKSxR4ioUkfeQ4byAa8dUZi6q3yz26mlCLRi90B X-Google-Smtp-Source: APiQypItrmnYuLksnVkBFPsxdVMqXUJeqmkcZMkI222PVz68SKzbpCm5alwXrsTKNvoUL1AqAeX3ypO1eMqvnuRxxpQ= X-Received: by 2002:aca:b5c3:: with SMTP id e186mr838722oif.114.1586370591232; Wed, 08 Apr 2020 11:29:51 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Christophe Lyon Date: Wed, 8 Apr 2020 20:29:39 +0200 Message-ID: Subject: Re: [testsuite][arm] Fix cmse-15.c expected output To: Christophe Lyon via Gcc-patches , Christophe Lyon , Richard Sandiford Content-Type: multipart/mixed; boundary="00000000000093f68205a2cbaf74" X-Spam-Status: No, score=-19.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 18:29:57 -0000 --00000000000093f68205a2cbaf74 Content-Type: text/plain; charset="UTF-8" On Wed, 8 Apr 2020 at 11:48, Richard Sandiford wrote: > > Christophe Lyon via Gcc-patches writes: > > Hi, > > > > While checking Martin's fix for PR ipa/94445, he made me realize that > > the cmse-15.c testcase still fails at -Os because ICF means that we > > generate > > nonsecure2: > > b nonsecure0 > > > > which is OK, but does not match the currently expected > > nonsecure2: > > ... > > bl __gnu_cmse_nonsecure_call > > > > (see https://gcc.gnu.org/pipermail/gcc-patches/2020-April/543190.html) > > > > The test has already different expectations for v8-M and v8.1-M. > > > > I've decided to try to use check-function-bodies to account for the > > different possibilities: > > - v8-M vs v8.1-M via two different prefixes > > - code generation variants (-0?) via multiple regexps > > > > I've tested that the test now passes with --target-board=-march=armv8-m.main > > and --target-board=-march=armv8.1-m.main. > > > > I feel this a bit too much of a burden for the purpose, maybe there's > > a better way of handling all these alternatives (in particular, > > there's a lot of duplication since the expected code for the secure* > > functions is the same for v8-M and v8.1-M). > > FWIW, an alternative is to give multiple versions with the same prefix > and use { target ... } to select between them. E.g.: > > /* > ** foo: { target a } > ** ... > */ > /* > ** foo: { target { ! a } } > ** ... > */ > Ha indeed, that makes it simpler. Thanks for the example, I hadn't fully understand how to use that scheme: I tried to add a third alternative (different prefix) with no selector for cases where no distinction was needed, but I realized that all alternatives need their full matching description. However, {target { ! a } } does not work as is, so the attached patch uses a non-greedy regexp to avoid trying "! a }" instead of "target { ! a }" If OK, maybe I should commit that as two separate patches? Thanks Christophe > Thanks, > Richard --00000000000093f68205a2cbaf74 Content-Type: text/plain; charset="US-ASCII"; name="cmse-15-function-bodies-v2.patch.txt" Content-Disposition: attachment; filename="cmse-15-function-bodies-v2.patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k8ro2yls1 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vY21zZS9jbXNlLTE1LmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL2Ntc2UvY21zZS0xNS5jCmluZGV4IDBlMzdi NTAuLmIwZmVmZTUgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vY21z ZS9jbXNlLTE1LmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9jbXNlL2Ntc2Ut MTUuYwpAQCAtMSw1ICsxLDggQEAKIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCiAvKiB7IGRnLW9w dGlvbnMgIi1tY21zZSIgfSAqLworLyogQVJNdjgtTSBleHBlY3RhdGlvbiB3aXRoIHRhcmdldCB7 ICEgYXJtX2Ntc2VfY2xlYXJfb2sgfS4gICovCisvKiBBUk12OC4xLU0gZXhwZWN0YXRpb24gd2l0 aCB0YXJnZXQgYXJtX2Ntc2VfY2xlYXJfb2suICAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1 bmN0aW9uLWJvZGllcyAiKioiICIiICIiIH0gfSAqLwogCiBpbnQgX19hdHRyaWJ1dGVfXyAoKGNt c2Vfbm9uc2VjdXJlX2NhbGwpKSAoKm5zX2ZvbykgKHZvaWQpOwogaW50ICgqc19iYXIpICh2b2lk KTsKQEAgLTExLDY3ICsxNCwyMDQgQEAgdHlwZWRlZiBpbnQgc19iYXJfdCAodm9pZCk7CiB0eXBl ZGVmIGludCBfX2F0dHJpYnV0ZV9fICgoY21zZV9ub25zZWN1cmVfY2FsbCkpICgqIG5zX2Zvb19w dHIpICh2b2lkKTsKIHR5cGVkZWYgaW50ICgqc19iYXJfcHRyKSAodm9pZCk7CiAKKy8qCisqKiBu b25zZWN1cmUwOiAgeyB0YXJnZXQgYXJtX2Ntc2VfY2xlYXJfb2sgfQorKioJLi4uCisqKglibHhu cwlyWzAtM10KKyoqCS4uLgorKi8KKy8qCisqKiBub25zZWN1cmUwOiB7IHRhcmdldCB7ICEgYXJt X2Ntc2VfY2xlYXJfb2sgfSB9CisqKgkuLi4KKyoqCWJsCV9fZ251X2Ntc2Vfbm9uc2VjdXJlX2Nh bGwKKyoqCS4uLgorKi8KIGludCBub25zZWN1cmUwIChuc19mb29fdCAqIG5zX2Zvb19wKQogewog ICByZXR1cm4gbnNfZm9vX3AgKCk7CiB9CiAKKy8qCisqKiBub25zZWN1cmUxOiAgeyB0YXJnZXQg YXJtX2Ntc2VfY2xlYXJfb2sgfQorKioJLi4uCisqKglibHhucwlyWzAtM10KKyoqCS4uLgorKi8K Ky8qCisqKiBub25zZWN1cmUxOiB7IHRhcmdldCB7ICEgYXJtX2Ntc2VfY2xlYXJfb2sgfSB9Cisq KgkuLi4KKyoqCWJsCV9fZ251X2Ntc2Vfbm9uc2VjdXJlX2NhbGwKKyoqCS4uLgorKi8KIGludCBu b25zZWN1cmUxIChuc19mb29fdCAqKiBuc19mb29fcCkKIHsKICAgcmV0dXJuICgqbnNfZm9vX3Ap ICgpOwogfQogCisvKgorKiogbm9uc2VjdXJlMjogIHsgdGFyZ2V0IGFybV9jbXNlX2NsZWFyX29r IH0KKyoqCS4uLgorKiogKAorKioJYmx4bnMJclswLTNdCisqKiB8CisqKgliCW5vbnNlY3VyZTAK KyoqICkKKyoqCS4uLgorKi8KKy8qCisqKiBub25zZWN1cmUyOiB7IHRhcmdldCB7ICEgYXJtX2Nt c2VfY2xlYXJfb2sgfSB9CisqKgkuLi4KKyoqICgKKyoqCWJsCV9fZ251X2Ntc2Vfbm9uc2VjdXJl X2NhbGwKKyoqIHwKKyoqCWIJbm9uc2VjdXJlMAorKiogKQorKioJLi4uCisqLwogaW50IG5vbnNl Y3VyZTIgKG5zX2Zvb19wdHIgbnNfZm9vX3ApCiB7CiAgIHJldHVybiBuc19mb29fcCAoKTsKIH0K KworLyoKKyoqIG5vbnNlY3VyZTM6ICB7IHRhcmdldCBhcm1fY21zZV9jbGVhcl9vayB9CisqKgku Li4KKyoqCWJseG5zCXJbMC0zXQorKioJLi4uCisqLworLyoKKyoqIG5vbnNlY3VyZTM6IHsgdGFy Z2V0IHsgISBhcm1fY21zZV9jbGVhcl9vayB9IH0KKyoqCS4uLgorKioJYmwJX19nbnVfY21zZV9u b25zZWN1cmVfY2FsbAorKioJLi4uCisqLwogaW50IG5vbnNlY3VyZTMgKG5zX2Zvb19wdHIgKiBu c19mb29fcCkKIHsKICAgcmV0dXJuICgqbnNfZm9vX3ApICgpOwogfQogCisvKgorKiogc2VjdXJl MDoKKyoqCS4uLgorKiogKAorKioJYngJclswLTNdCisqKiB8CisqKglibHgJclswLTNdCisqKiAp CisqKgkuLi4KKyovCiBpbnQgc2VjdXJlMCAoc19iYXJfdCAqIHNfYmFyX3ApCiB7CiAgIHJldHVy biBzX2Jhcl9wICgpOwogfQogCisvKgorKiogc2VjdXJlMToKKyoqCS4uLgorKiogKAorKioJYngJ clswLTNdCisqKiB8CisqKglibHgJclswLTNdCisqKiApCisqKgkuLi4KKyovCiBpbnQgc2VjdXJl MSAoc19iYXJfdCAqKiBzX2Jhcl9wKQogewogICByZXR1cm4gKCpzX2Jhcl9wKSAoKTsKIH0KIAor LyoKKyoqIHNlY3VyZTI6CisqKgkuLi4KKyoqICgKKyoqCWJ4CXJbMC0zXQorKiogfAorKioJYmx4 CXJbMC0zXQorKiogfAorKioJYglzZWN1cmUwCisqKiApCisqKgkuLi4KKyovCiBpbnQgc2VjdXJl MiAoc19iYXJfcHRyIHNfYmFyX3ApCiB7CiAgIHJldHVybiBzX2Jhcl9wICgpOwogfQogCisvKgor Kiogc2VjdXJlMzoKKyoqCS4uLgorKiogKAorKioJYngJclswLTNdCisqKiB8CisqKglibHgJclsw LTNdCisqKiApCisqKgkuLi4KKyovCiBpbnQgc2VjdXJlMyAoc19iYXJfcHRyICogc19iYXJfcCkK IHsKICAgcmV0dXJuICgqc19iYXJfcCkgKCk7CiB9CiAKKy8qCisqKiBub25zZWN1cmU0OiAgeyB0 YXJnZXQgYXJtX2Ntc2VfY2xlYXJfb2sgfQorKioJLi4uCisqKglibHhucwlyWzAtM10KKyoqCS4u LgorKi8KKy8qCisqKiBub25zZWN1cmU0OiB7IHRhcmdldCB7ICEgYXJtX2Ntc2VfY2xlYXJfb2sg fSB9CisqKgkuLi4KKyoqCWJsCV9fZ251X2Ntc2Vfbm9uc2VjdXJlX2NhbGwKKyoqCS4uLgorKi8K IGludCBub25zZWN1cmU0ICh2b2lkKQogewogICByZXR1cm4gbnNfZm9vICgpOwogfQogCisvKgor Kiogbm9uc2VjdXJlNTogIHsgdGFyZ2V0IGFybV9jbXNlX2NsZWFyX29rIH0KKyoqCS4uLgorKioJ Ymx4bnMJclswLTNdCisqKgkuLi4KKyovCisvKgorKiogbm9uc2VjdXJlNTogeyB0YXJnZXQgeyAh IGFybV9jbXNlX2NsZWFyX29rIH0gfQorKioJLi4uCisqKglibAlfX2dudV9jbXNlX25vbnNlY3Vy ZV9jYWxsCisqKgkuLi4KKyovCiBpbnQgbm9uc2VjdXJlNSAodm9pZCkKIHsKICAgcmV0dXJuICgq bnNfZm9vMikgKCk7CiB9CiAKKy8qCisqKiBzZWN1cmU0OgorKioJLi4uCisqKiAoCisqKglieAly WzAtM10KKyoqIHwKKyoqCWJseAlyWzAtM10KKyoqICkKKyoqCS4uLgorKi8KIGludCBzZWN1cmU0 ICh2b2lkKQogewogICByZXR1cm4gc19iYXIgKCk7CiB9CiAKKy8qCisqKiBzZWN1cmU1OgorKioJ Li4uCisqKiAoCisqKglieAlyWzAtM10KKyoqIHwKKyoqCWJseAlyWzAtM10KKyoqICkKKyoqCS4u LgorKi8KIGludCBzZWN1cmU1ICh2b2lkKQogewogICByZXR1cm4gKCpzX2JhcjIpICgpOwogfQot Ci0vKiBBUk12OC1NIGV4cGVjdGF0aW9uLiAgKi8KLS8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyAiYmxcXHMrX19nbnVfY21zZV9ub25zZWN1cmVfY2FsbCIgNiB7IHRhcmdldCB7 ICEgYXJtX2Ntc2VfY2xlYXJfb2sgfSB9IH0gfSAqLwotCi0vKiBBUk12OC4xLU0gZXhwZWN0YXRp b24uICAqLwotLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJibHhucyIgNiB7 IHRhcmdldCBhcm1fY21zZV9jbGVhcl9vayB9IH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9saWIvc2NhbmFzbS5leHAgYi9nY2MvdGVzdHN1aXRlL2xpYi9zY2FuYXNtLmV4cAppbmRl eCBmN2QyNzczLi4wMDk4YzNkIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2xpYi9zY2FuYXNt LmV4cAorKysgYi9nY2MvdGVzdHN1aXRlL2xpYi9zY2FuYXNtLmV4cApAQCAtNjc5LDcgKzY3OSw3 IEBAIHByb2MgY2hlY2stZnVuY3Rpb24tYm9kaWVzIHsgYXJncyB9IHsKIAlpZiB7IFtzdHJpbmcg ZXF1YWwgLWxlbmd0aCAkcHJlZml4X2xlbiAkbGluZSAkcHJlZml4XSB9IHsKIAkgICAgc2V0IGxp bmUgW3N0cmluZyB0cmltIFtzdHJpbmcgcmFuZ2UgJGxpbmUgJHByZWZpeF9sZW4gZW5kXV0KIAkg ICAgaWYgeyAhJGluX2Z1bmN0aW9uIH0gewotCQlpZiB7IFtyZWdleHAgIl4oLipcXFMpXFxzK3so LiopfVwkIiAkbGluZSBkdW1teSBcCisJCWlmIHsgW3JlZ2V4cCAiXiguKj9cXFMpXFxzK3soLiop fVwkIiAkbGluZSBkdW1teSBcCiAJCQkgIGxpbmUgc2VsZWN0b3JdIH0gewogCQkgICAgc2V0IHNl bGVjdG9yIFtkZy1wcm9jZXNzLXRhcmdldCAkc2VsZWN0b3JdCiAJCX0gZWxzZSB7Cg== --00000000000093f68205a2cbaf74 Content-Type: text/plain; charset="US-ASCII"; name="cmse-15-function-bodies-v2.chglog.txt" Content-Disposition: attachment; filename="cmse-15-function-bodies-v2.chglog.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k8ro2yl70 Z2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CgoyMDIwLTA0LTA4ICBDaHJpc3RvcGhlIEx5b24gIDxj aHJpc3RvcGhlLmx5b25AbGluYXJvLm9yZz4KCgkqIGdjYy50YXJnZXQvYXJtL2Ntc2UvY21zZS0x NS5jOiBVc2UgY2hlY2stZnVuY3Rpb24tYm9kaWVzLgoJKiBsaWIvc2NhbmFzbS5leHAgKGNoZWNr LWZ1bmN0aW9uLWJvZGllcyk6IFVzZSBub24tZ3JlZWR5IHJlZ2V4cAoJd2hlbiBleHRyYWN0aW5n IHRoZSB0YXJnZXQgc2VsZWN0b3IuCgo= --00000000000093f68205a2cbaf74--