From patchwork Sun Apr 15 10:55:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 898237 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-476399-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=intel.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="qwlkSM8e"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40P7hS2r8Qz9s0t for ; Sun, 15 Apr 2018 20:55:16 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:reply-to:mime-version :content-type; q=dns; s=default; b=GzA1Xjkcqq/+Lsfq3EuDnqnWLV1iK CPPEOImAmIz1Ph0AQdIhUnGNSuj5fKqpoARhLgBV/F950ssrICJKiJY1+U6h0iyD Z4ajqbY0+4qbfjxQtuzZr4ConcKn+dW7YLNohcP19dtuMC9b2VFRehiRDgISW8ms 11mrSYtM7Qp4SE= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:reply-to:mime-version :content-type; s=default; bh=vG3hreMfLL5dubeb92lpl5btSX4=; b=qwl kSM8eMI1iifs4u8KWP6sw4t7l+2ROB4UWwWcXsfg0Lcsu3/3PocXwHcoyTlEi1Gx S/fe5ULvKJsgEmSHQL9TDnc4cV7v+Onsw19sZ3gycE7LgmLxvb2JuAEqRXgGDUki eRpcGdLA4SH3u8aIcjZDsxNWqzW0pjPmwMDz5aRI= Received: (qmail 126539 invoked by alias); 15 Apr 2018 10:55:08 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 126522 invoked by uid 89); 15 Apr 2018 10:55:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.8 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, NO_DNS_FOR_FROM autolearn=ham version=3.3.2 spammy=pie, error_mark_node X-HELO: mga14.intel.com Received: from mga14.intel.com (HELO mga14.intel.com) (192.55.52.115) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 15 Apr 2018 10:55:05 +0000 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Apr 2018 03:55:03 -0700 X-ExtLoop1: 1 Received: from gnu-cfl-1.sc.intel.com ([172.25.70.237]) by fmsmga008.fm.intel.com with ESMTP; 15 Apr 2018 03:55:04 -0700 Received: by gnu-cfl-1.sc.intel.com (Postfix, from userid 1000) id 70F97440ADC; Sun, 15 Apr 2018 03:55:03 -0700 (PDT) Date: Sun, 15 Apr 2018 03:55:03 -0700 From: "H.J. Lu" To: gcc-patches@gcc.gnu.org Cc: Uros Bizjak Subject: [PATCH i386: Check error_mark_node in multiversioning Message-ID: <20180415105503.GA26530@intel.com> Reply-To: "H.J. Lu" MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.9.2 (2017-12-15) Since CET is applied to the whole program, it is correct to disallow -fcf-protection=full without -mcet. But compiler shouldn't crash. OK for trunk? H.J. ---- gcc/ PR target/85403 * config/i386/i386.c (get_builtin_code_for_version): Check error_mark_node. gcc/testsuite/ PR target/85403 * g++.dg/ext/mv1.C: Compile with -fcf-protection=none. * g++.dg/ext/mv14.C: Likewise. * g++.dg/ext/mv15.C: Likewise. * g++.dg/ext/mv16.C: Likewise. * g++.dg/ext/mv17.C: Likewise. * g++.dg/ext/mv18.C: Likewise. * g++.dg/ext/mv19.C: Likewise. * g++.dg/ext/mv20.C: Likewise. * g++.dg/ext/mv21.C: Likewise. * g++.dg/ext/mv22.C: Likewise. * g++.dg/ext/mv23.C: Likewise. * g++.dg/ext/mv26.C: Likewise. * g++.dg/ext/mv6.C: Likewise. * g++.dg/ext/mvc1.C: Likewise. * gcc.target/i386/cet-notrack-icf-1.c: Likewise. * gcc.target/i386/cet-notrack-icf-3.c: Likewise. * gcc.target/i386/cet-property-2.c: Likewise. * gcc.target/i386/mvc1.c: Likewise. * gcc.target/i386/mvc10.c: Likewise. * gcc.target/i386/mvc11.c: Likewise. * gcc.target/i386/mvc6.c: Likewise. * gcc.target/i386/mvc7.c: Likewise. * gcc.target/i386/mvc8.c: Likewise. * gcc.target/i386/mvc9.c: Likewise. * gcc.target/i386/pr81213.c: Likewise. * gcc.target/i386/pr81214.c: Likewise. * gcc.target/i386/sse-26.c: Likewise. * gcc.target/i386/pr85403.c: New test. --- gcc/config/i386/i386.c | 2 ++ gcc/testsuite/g++.dg/ext/mv1.C | 2 +- gcc/testsuite/g++.dg/ext/mv14.C | 2 +- gcc/testsuite/g++.dg/ext/mv15.C | 2 +- gcc/testsuite/g++.dg/ext/mv16.C | 2 +- gcc/testsuite/g++.dg/ext/mv17.C | 2 +- gcc/testsuite/g++.dg/ext/mv18.C | 2 +- gcc/testsuite/g++.dg/ext/mv19.C | 2 +- gcc/testsuite/g++.dg/ext/mv20.C | 2 +- gcc/testsuite/g++.dg/ext/mv21.C | 2 +- gcc/testsuite/g++.dg/ext/mv22.C | 2 +- gcc/testsuite/g++.dg/ext/mv23.C | 2 +- gcc/testsuite/g++.dg/ext/mv26.C | 1 + gcc/testsuite/g++.dg/ext/mv6.C | 2 +- gcc/testsuite/g++.dg/ext/mvc1.C | 1 + gcc/testsuite/gcc.target/i386/cet-notrack-icf-1.c | 2 +- gcc/testsuite/gcc.target/i386/cet-notrack-icf-3.c | 2 +- gcc/testsuite/gcc.target/i386/cet-property-2.c | 2 +- gcc/testsuite/gcc.target/i386/mvc1.c | 1 + gcc/testsuite/gcc.target/i386/mvc10.c | 1 + gcc/testsuite/gcc.target/i386/mvc11.c | 2 +- gcc/testsuite/gcc.target/i386/mvc6.c | 2 +- gcc/testsuite/gcc.target/i386/mvc7.c | 1 + gcc/testsuite/gcc.target/i386/mvc8.c | 2 +- gcc/testsuite/gcc.target/i386/mvc9.c | 2 +- gcc/testsuite/gcc.target/i386/pr81213.c | 1 + gcc/testsuite/gcc.target/i386/pr81214.c | 1 + gcc/testsuite/gcc.target/i386/pr85403.c | 10 ++++++++++ gcc/testsuite/gcc.target/i386/sse-26.c | 2 +- 29 files changed, 39 insertions(+), 20 deletions(-) create mode 100644 gcc/testsuite/gcc.target/i386/pr85403.c diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 6fa5b0add02..8a73fc0d316 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -32344,6 +32344,8 @@ get_builtin_code_for_version (tree decl, tree *predicate_list) &global_options_set); gcc_assert (target_node); + if (target_node == error_mark_node) + return 0; new_target = TREE_TARGET_OPTION (target_node); gcc_assert (new_target); diff --git a/gcc/testsuite/g++.dg/ext/mv1.C b/gcc/testsuite/g++.dg/ext/mv1.C index 4eedbff7b23..af81f3aa056 100644 --- a/gcc/testsuite/g++.dg/ext/mv1.C +++ b/gcc/testsuite/g++.dg/ext/mv1.C @@ -1,7 +1,7 @@ /* Test case to check if Multiversioning works. */ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ -/* { dg-options "-O2 -fPIC" } */ +/* { dg-options "-O2 -fPIC -fcf-protection=none" } */ #include diff --git a/gcc/testsuite/g++.dg/ext/mv14.C b/gcc/testsuite/g++.dg/ext/mv14.C index 1e7a1619698..82b153b7ebb 100644 --- a/gcc/testsuite/g++.dg/ext/mv14.C +++ b/gcc/testsuite/g++.dg/ext/mv14.C @@ -1,7 +1,7 @@ /* Test case to check if Multiversioning works. */ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ -/* { dg-options "-O2 -fPIC -march=x86-64" } */ +/* { dg-options "-O2 -fPIC -march=x86-64 -fcf-protection=none" } */ #include diff --git a/gcc/testsuite/g++.dg/ext/mv15.C b/gcc/testsuite/g++.dg/ext/mv15.C index c0beadf16ea..3d1bf9934dd 100644 --- a/gcc/testsuite/g++.dg/ext/mv15.C +++ b/gcc/testsuite/g++.dg/ext/mv15.C @@ -1,7 +1,7 @@ /* Test case to check if Multiversioning works. */ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ -/* { dg-options "-O2 -fPIC -march=x86-64" } */ +/* { dg-options "-O2 -fPIC -march=x86-64 -fcf-protection=none" } */ #include diff --git a/gcc/testsuite/g++.dg/ext/mv16.C b/gcc/testsuite/g++.dg/ext/mv16.C index 3e7c228a7f1..6e1d7a2aad6 100644 --- a/gcc/testsuite/g++.dg/ext/mv16.C +++ b/gcc/testsuite/g++.dg/ext/mv16.C @@ -4,7 +4,7 @@ // { dg-do run { target i?86-*-* x86_64-*-* } } // { dg-require-ifunc "" } -// { dg-options "-O2" } +// { dg-options "-O2 -fcf-protection=none" } #include diff --git a/gcc/testsuite/g++.dg/ext/mv17.C b/gcc/testsuite/g++.dg/ext/mv17.C index 87c13246ed2..8c1fcac47f5 100644 --- a/gcc/testsuite/g++.dg/ext/mv17.C +++ b/gcc/testsuite/g++.dg/ext/mv17.C @@ -2,7 +2,7 @@ // { dg-do run { target i?86-*-* x86_64-*-* } } // { dg-require-ifunc "" } -// { dg-options "-O2" } +// { dg-options "-O2 -fcf-protection=none" } #include diff --git a/gcc/testsuite/g++.dg/ext/mv18.C b/gcc/testsuite/g++.dg/ext/mv18.C index 1f024de9b95..3e64a26a31e 100644 --- a/gcc/testsuite/g++.dg/ext/mv18.C +++ b/gcc/testsuite/g++.dg/ext/mv18.C @@ -2,6 +2,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ /* { dg-require-effective-target pie } */ -/* { dg-options "-O2 -fPIE -pie" } */ +/* { dg-options "-O2 -fPIE -pie -fcf-protection=none" } */ #include "mv1.C" diff --git a/gcc/testsuite/g++.dg/ext/mv19.C b/gcc/testsuite/g++.dg/ext/mv19.C index d1ea788745f..6a5c4190056 100644 --- a/gcc/testsuite/g++.dg/ext/mv19.C +++ b/gcc/testsuite/g++.dg/ext/mv19.C @@ -2,6 +2,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ /* { dg-require-effective-target pie } */ -/* { dg-options "-O2 -fPIE -pie -march=x86-64" } */ +/* { dg-options "-O2 -fPIE -pie -march=x86-64 -fcf-protection=none" } */ #include "mv14.C" diff --git a/gcc/testsuite/g++.dg/ext/mv20.C b/gcc/testsuite/g++.dg/ext/mv20.C index 98f7408e1fc..302c1070201 100644 --- a/gcc/testsuite/g++.dg/ext/mv20.C +++ b/gcc/testsuite/g++.dg/ext/mv20.C @@ -2,6 +2,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ /* { dg-require-effective-target pie } */ -/* { dg-options "-O2 -fPIE -pie -march=x86-64" } */ +/* { dg-options "-O2 -fPIE -pie -march=x86-64 -fcf-protection=none" } */ #include "mv15.C" diff --git a/gcc/testsuite/g++.dg/ext/mv21.C b/gcc/testsuite/g++.dg/ext/mv21.C index 9708ad95019..dfece312e97 100644 --- a/gcc/testsuite/g++.dg/ext/mv21.C +++ b/gcc/testsuite/g++.dg/ext/mv21.C @@ -2,6 +2,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ /* { dg-require-effective-target static } */ -/* { dg-options "-O2 -static" } */ +/* { dg-options "-O2 -static -fcf-protection=none" } */ #include "mv1.C" diff --git a/gcc/testsuite/g++.dg/ext/mv22.C b/gcc/testsuite/g++.dg/ext/mv22.C index 2550136fdac..199f06037c7 100644 --- a/gcc/testsuite/g++.dg/ext/mv22.C +++ b/gcc/testsuite/g++.dg/ext/mv22.C @@ -2,6 +2,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ /* { dg-require-effective-target static } */ -/* { dg-options "-O2 -static -march=x86-64" } */ +/* { dg-options "-O2 -static -march=x86-64 -fcf-protection=none" } */ #include "mv14.C" diff --git a/gcc/testsuite/g++.dg/ext/mv23.C b/gcc/testsuite/g++.dg/ext/mv23.C index f00afb01f15..946d8d95085 100644 --- a/gcc/testsuite/g++.dg/ext/mv23.C +++ b/gcc/testsuite/g++.dg/ext/mv23.C @@ -2,6 +2,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ /* { dg-require-effective-target static } */ -/* { dg-options "-O2 -static -march=x86-64" } */ +/* { dg-options "-O2 -static -march=x86-64 -fcf-protection=none" } */ #include "mv15.C" diff --git a/gcc/testsuite/g++.dg/ext/mv26.C b/gcc/testsuite/g++.dg/ext/mv26.C index 1b455130e46..6c883e1830a 100644 --- a/gcc/testsuite/g++.dg/ext/mv26.C +++ b/gcc/testsuite/g++.dg/ext/mv26.C @@ -1,6 +1,7 @@ // PR c++/84059 // { dg-do compile { target i?86-*-* x86_64-*-* } } // { dg-require-ifunc "" } +/* { dg-options "-fcf-protection=none" } */ template struct a { diff --git a/gcc/testsuite/g++.dg/ext/mv6.C b/gcc/testsuite/g++.dg/ext/mv6.C index 2273065996b..056ca55b911 100644 --- a/gcc/testsuite/g++.dg/ext/mv6.C +++ b/gcc/testsuite/g++.dg/ext/mv6.C @@ -2,7 +2,7 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ -/* { dg-options "-march=x86-64" } */ +/* { dg-options "-march=x86-64 -fcf-protection=none" } */ class Foo { diff --git a/gcc/testsuite/g++.dg/ext/mvc1.C b/gcc/testsuite/g++.dg/ext/mvc1.C index ff37238a4e0..c3930ed0d2c 100644 --- a/gcc/testsuite/g++.dg/ext/mvc1.C +++ b/gcc/testsuite/g++.dg/ext/mvc1.C @@ -1,5 +1,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-require-ifunc "" } */ +/* { dg-options "-fcf-protection=none" } */ __attribute__((target_clones("avx","arch=slm","arch=core-avx2","default"))) int diff --git a/gcc/testsuite/gcc.target/i386/cet-notrack-icf-1.c b/gcc/testsuite/gcc.target/i386/cet-notrack-icf-1.c index 7987d53d305..00a3f3e5d5f 100644 --- a/gcc/testsuite/gcc.target/i386/cet-notrack-icf-1.c +++ b/gcc/testsuite/gcc.target/i386/cet-notrack-icf-1.c @@ -1,6 +1,6 @@ /* Verify nocf_check functions are not ICF optimized. */ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "-O2 -fcf-protection=none -mno-cet" } */ /* { dg-final { scan-assembler-not "endbr" } } */ /* { dg-final { scan-assembler-not "fn3:" } } */ /* { dg-final { scan-assembler "set\[ \t]+fn2,fn1" } } */ diff --git a/gcc/testsuite/gcc.target/i386/cet-notrack-icf-3.c b/gcc/testsuite/gcc.target/i386/cet-notrack-icf-3.c index 07c4a6b61ef..c8b26f947d3 100644 --- a/gcc/testsuite/gcc.target/i386/cet-notrack-icf-3.c +++ b/gcc/testsuite/gcc.target/i386/cet-notrack-icf-3.c @@ -1,6 +1,6 @@ /* Verify nocf_check function calls are not ICF optimized. */ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "-O2 -fcf-protection=none -mno-cet" } */ /* { dg-final { scan-assembler-not "endbr" } } */ /* { dg-final { scan-assembler-not "fn2:" } } */ /* { dg-final { scan-assembler "set\[ \t]+fn2,fn1" } } */ diff --git a/gcc/testsuite/gcc.target/i386/cet-property-2.c b/gcc/testsuite/gcc.target/i386/cet-property-2.c index 5a87dab92f1..bca6f6cdeb7 100644 --- a/gcc/testsuite/gcc.target/i386/cet-property-2.c +++ b/gcc/testsuite/gcc.target/i386/cet-property-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-mcet" } */ +/* { dg-options "-mcet -fcf-protection=none" } */ /* { dg-final { scan-assembler-not ".note.gnu.property" } } */ extern void foo (void); diff --git a/gcc/testsuite/gcc.target/i386/mvc1.c b/gcc/testsuite/gcc.target/i386/mvc1.c index 752b3af7469..995056f850f 100644 --- a/gcc/testsuite/gcc.target/i386/mvc1.c +++ b/gcc/testsuite/gcc.target/i386/mvc1.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-options "-fcf-protection=none" } */ /* { dg-require-ifunc "" } */ __attribute__((target_clones("avx","arch=slm","arch=core-avx2","default"))) diff --git a/gcc/testsuite/gcc.target/i386/mvc10.c b/gcc/testsuite/gcc.target/i386/mvc10.c index 9a7b609c0b3..7452a33659f 100644 --- a/gcc/testsuite/gcc.target/i386/mvc10.c +++ b/gcc/testsuite/gcc.target/i386/mvc10.c @@ -1,5 +1,6 @@ /* PR ipa/84722. */ /* { dg-do run } */ +/* { dg-options "-fcf-protection=none" } */ /* { dg-require-ifunc "" } */ __attribute__ ((target_clones ("avx", "arch=core-avx2", "default"))) int diff --git a/gcc/testsuite/gcc.target/i386/mvc11.c b/gcc/testsuite/gcc.target/i386/mvc11.c index 5bd10f4651d..c91ba635559 100644 --- a/gcc/testsuite/gcc.target/i386/mvc11.c +++ b/gcc/testsuite/gcc.target/i386/mvc11.c @@ -1,6 +1,6 @@ /* { dg-do run } */ /* { dg-require-ifunc "" } */ -/* { dg-options "-std=gnu99" } */ +/* { dg-options "-std=gnu99 -fcf-protection=none" } */ __attribute__((noipa)) int baz (int (*fn) (void)) diff --git a/gcc/testsuite/gcc.target/i386/mvc6.c b/gcc/testsuite/gcc.target/i386/mvc6.c index af631394980..f14f575ba96 100644 --- a/gcc/testsuite/gcc.target/i386/mvc6.c +++ b/gcc/testsuite/gcc.target/i386/mvc6.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ -/* { dg-options "-O3" } */ +/* { dg-options "-O3 -fcf-protection=none" } */ /* { dg-final { scan-assembler "vpshufb" } } */ /* { dg-final { scan-assembler "punpcklbw" } } */ diff --git a/gcc/testsuite/gcc.target/i386/mvc7.c b/gcc/testsuite/gcc.target/i386/mvc7.c index a3697ba9b75..1a8226b65c6 100644 --- a/gcc/testsuite/gcc.target/i386/mvc7.c +++ b/gcc/testsuite/gcc.target/i386/mvc7.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ +/* { dg-options "-fcf-protection=none" } */ /* { dg-final { scan-assembler "foo.resolver" } } */ /* { dg-final { scan-assembler "avx" } } */ /* { dg-final { scan-assembler "slm" } } */ diff --git a/gcc/testsuite/gcc.target/i386/mvc8.c b/gcc/testsuite/gcc.target/i386/mvc8.c index 97d7941a5ab..cf3b4e12bec 100644 --- a/gcc/testsuite/gcc.target/i386/mvc8.c +++ b/gcc/testsuite/gcc.target/i386/mvc8.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ -/* { dg-options "-O3 -fno-inline" } */ +/* { dg-options "-O3 -fno-inline -fcf-protection=none" } */ /* { dg-final { scan-assembler-not "constprop" } } */ __attribute__((target_clones("arch=core-avx2","arch=slm","default"))) void foo (float *a, int b) { diff --git a/gcc/testsuite/gcc.target/i386/mvc9.c b/gcc/testsuite/gcc.target/i386/mvc9.c index 4052f2afb54..5d140f2526b 100644 --- a/gcc/testsuite/gcc.target/i386/mvc9.c +++ b/gcc/testsuite/gcc.target/i386/mvc9.c @@ -1,6 +1,6 @@ /* { dg-do run { target lto } } */ /* { dg-require-ifunc "" } */ -/* { dg-options "-O2 -flto" } */ +/* { dg-options "-O2 -flto -fcf-protection=none" } */ __attribute__((target_clones("avx","arch=slm","arch=core-avx2","default"))) int diff --git a/gcc/testsuite/gcc.target/i386/pr81213.c b/gcc/testsuite/gcc.target/i386/pr81213.c index 13e15d5fef0..52bdc1bda94 100644 --- a/gcc/testsuite/gcc.target/i386/pr81213.c +++ b/gcc/testsuite/gcc.target/i386/pr81213.c @@ -1,6 +1,7 @@ /* PR ipa/81214. */ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ +/* { dg-options "-fcf-protection=none" } */ __attribute__((target_clones("avx","arch=slm","arch=core-avx2","default"))) static int diff --git a/gcc/testsuite/gcc.target/i386/pr81214.c b/gcc/testsuite/gcc.target/i386/pr81214.c index 2584decdb3c..15db31da140 100644 --- a/gcc/testsuite/gcc.target/i386/pr81214.c +++ b/gcc/testsuite/gcc.target/i386/pr81214.c @@ -1,6 +1,7 @@ /* PR ipa/81214. */ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ +/* { dg-options "-fcf-protection=none" } */ __attribute__((target_clones("avx","arch=slm","arch=core-avx2","default"))) int diff --git a/gcc/testsuite/gcc.target/i386/pr85403.c b/gcc/testsuite/gcc.target/i386/pr85403.c new file mode 100644 index 00000000000..f4fb12dd4e2 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr85403.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-fcf-protection -mcet" } */ +/* { dg-require-ifunc "" } */ + +__attribute__((target_clones("avx","arch=slm","arch=core-avx2","default"))) +int +foo () +{ + return -2; +} /* { dg-error "requires Intel CET support" } */ diff --git a/gcc/testsuite/gcc.target/i386/sse-26.c b/gcc/testsuite/gcc.target/i386/sse-26.c index f2607e64b59..0d786b2e37f 100644 --- a/gcc/testsuite/gcc.target/i386/sse-26.c +++ b/gcc/testsuite/gcc.target/i386/sse-26.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse2 -mmmx -mno-sse3 -mno-3dnow -mno-fma -mno-fxsr -mno-xsave -mno-rtm -mno-prfchw -mno-rdseed -mno-adx -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-ibt -mno-shstk -mno-vaes -mno-vpclmulqdq" } */ +/* { dg-options "-fcf-protection=none -O2 -Werror-implicit-function-declaration -march=k8 -msse2 -mmmx -mno-sse3 -mno-3dnow -mno-fma -mno-fxsr -mno-xsave -mno-rtm -mno-prfchw -mno-rdseed -mno-adx -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-ibt -mno-shstk -mno-vaes -mno-vpclmulqdq" } */ /* { dg-add-options bind_pic_locally } */ #include "sse-13.c"