From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 129820 invoked by alias); 18 Sep 2017 10:17:21 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 129811 invoked by uid 89); 18 Sep 2017 10:17:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.0 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2774, hello! X-HELO: mail-it0-f49.google.com Received: from mail-it0-f49.google.com (HELO mail-it0-f49.google.com) (209.85.214.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 18 Sep 2017 10:17:19 +0000 Received: by mail-it0-f49.google.com with SMTP id 6so362373itl.1 for ; Mon, 18 Sep 2017 03:17:19 -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:from:date:message-id:subject:to:cc; bh=rMxxntAnmHgizViXgadRMCqoJ56lGUXdBDy5PG59Lxk=; b=lRLAcGXZwP4SQX4V/3f5fmtbUGoZ8s5OyTNgOgouYHswElm7Z4cBsYmHCPHS+074lt SvfkbXQNPY3hm4CL32WGUEHiRP0orRpLTRu6ZTJRJcXDM4WD7GKCsy7rmoatdLAyuPL6 J5zkUJyDeRug/2t+/q+hFQ/yDPWYMX40aP/AxVahAzKoB0J1XUYXcjlqflVMz+WOrKkB jfWrV5SZRAD9v3JY3X/KqxUiULBxRmZB2q+atxfBugsKFfZ1+lRuDmiU2Mfr0WMIfCw8 PskEBm0MI7JRQgYO4z/V1XH/yIkFxwWwmer3piwFMvQCvhNjLiZBRzGHYsrUNQd2fpYo itRA== X-Gm-Message-State: AHPjjUiuX99Q5b6cB4hpBVyKpEslvCJRR9dP20iA2WjaAtkZfbIyI8B1 lCMhll4OsBs64McKItgL6rSl5uX+u+JZ0vnjEb3C1A== X-Google-Smtp-Source: AOwi7QBwtE4rW4BiU2rJaY9o8wLTW6dQmNZIPYssXboKmBzx+B+J1SgTeGwpLqJJNyP2dN2lWGtkIpxGCZJW2e8JfR0= X-Received: by 10.36.73.137 with SMTP id e9mr15944630itd.149.1505729837420; Mon, 18 Sep 2017 03:17:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.2.137.252 with HTTP; Mon, 18 Sep 2017 03:17:17 -0700 (PDT) From: Uros Bizjak Date: Mon, 18 Sep 2017 10:17:00 -0000 Message-ID: Subject: Re: 0006-Part-6.-Add-x86-tests-for-Intel-CET-implementation To: "gcc-patches@gcc.gnu.org" Cc: "Tsimbalist, Igor V" Content-Type: text/plain; charset="UTF-8" X-SW-Source: 2017-09/txt/msg01147.txt.bz2 Hello! > gcc/testsuite/ > > * g++.dg/cet-notrack-1.C: New test. > * gcc.target/i386/cet-intrin-1.c: Likewise. > * gcc.target/i386/cet-intrin-10.c: Likewise. > * gcc.target/i386/cet-intrin-2.c: Likewise. > * gcc.target/i386/cet-intrin-3.c: Likewise. > * gcc.target/i386/cet-intrin-4.c: Likewise. > * gcc.target/i386/cet-intrin-5.c: Likewise. > * gcc.target/i386/cet-intrin-6.c: Likewise. > * gcc.target/i386/cet-intrin-7.c: Likewise. > * gcc.target/i386/cet-intrin-8.c: Likewise. > * gcc.target/i386/cet-intrin-9.c: Likewise. > * gcc.target/i386/cet-label.c: Likewise. > * gcc.target/i386/cet-notrack-1a.c: Likewise. > * gcc.target/i386/cet-notrack-1b.c: Likewise. > * gcc.target/i386/cet-notrack-2a.c: Likewise. > * gcc.target/i386/cet-notrack-2b.c: Likewise. > * gcc.target/i386/cet-notrack-3.c: Likewise. > * gcc.target/i386/cet-notrack-4a.c: Likewise. > * gcc.target/i386/cet-notrack-4b.c: Likewise. > * gcc.target/i386/cet-notrack-5a.c: Likewise. > * gcc.target/i386/cet-notrack-5b.c: Likewise. > * gcc.target/i386/cet-notrack-6a.c: Likewise. > * gcc.target/i386/cet-notrack-6b.c: Likewise. > * gcc.target/i386/cet-notrack-7.c: Likewise. > * gcc.target/i386/cet-property-1.c: Likewise. > * gcc.target/i386/cet-property-2.c: Likewise. > * gcc.target/i386/cet-rdssp-1.c: Likewise. > * gcc.target/i386/cet-sjlj-1.c: Likewise. > * gcc.target/i386/cet-sjlj-2.c: Likewise. > * gcc.target/i386/cet-sjlj-3.c: Likewise. > * gcc.target/i386/cet-switch-1.c: Likewise. > * gcc.target/i386/cet-switch-2.c: Likewise. > * lib/target-supports.exp (check_effective_target_cet): New > proc. A couple of questions: +/* { dg-do compile } */ +/* { dg-options "-O2 -mcet" } */ +/* { dg-final { scan-assembler-times "setssbsy" 2 } } */ + +#include + +void f1 (void) +{ + __builtin_ia32_setssbsy (); +} + +void f2 (void) +{ + _setssbsy (); +} Is there a reason that both, __builtin and intrinsic versions are tested in a couple of places? The intrinsic version is just a wrapper for __builtin, so IMO testing intrinsic version should be enough. diff --git a/gcc/testsuite/gcc.target/i386/cet-rdssp-1.c b/gcc/testsuite/gcc.target/i386/cet-rdssp-1.c new file mode 100644 index 0000000..f9223a5 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/cet-rdssp-1.c @@ -0,0 +1,39 @@ +/* { dg-do run { target cet } } */ +/* { dg-options "-O2 -finstrument-control-flow -mcet" } */ The "target cet" directive just checks that CET instructions can be compiled. The test will (probably?) fail on targets with binutils that can compile CET instructions, but the target itself doesn't support CET. If this is the case, then check header has to be introduced, so the test can be bypassed on targets without runtime support. Uros.