From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 46504 invoked by alias); 6 Feb 2018 09:50:55 -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 46113 invoked by uid 89); 6 Feb 2018 09:50:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-io0-f179.google.com Received: from mail-io0-f179.google.com (HELO mail-io0-f179.google.com) (209.85.223.179) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 06 Feb 2018 09:50:52 +0000 Received: by mail-io0-f179.google.com with SMTP id f89so1859006ioj.4 for ; Tue, 06 Feb 2018 01:50:52 -0800 (PST) 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=RTzrDPmMUWEJaDjtLbbf4QLfWR9T2npxpfHCUkwmA7U=; b=QWxLKTdOBzRYtrZ/78BVkphpyrrP1TypL7QvsjQ98fGD0BLxQM9DPHZMEJcoRfNYjD Ry15lNE8+rysv+4lD+Uu4bhdCHoCvEkkX6WqClQkaJCPETWSdc/dYhhKN0MP9XTAaB42 tovSqCrhRg8K4CVr/uCZC44TGyzalWG+FScwF0e0ixnSSD/D91o4Zu7dYLGf6RwYL5te bdoZxX8uN6bUN7HCVNpEgxA9asqzKmD6BWC/XvyE7yV55c+9Mma9xrJ8TRSkEPiNUt+s oaIuCT9ZbFsVKdP85khMa8t/UJvaQJCVQp+4R7jW+M9Td1Rzd5dcvXqEODiKXu09O8sZ +DpA== X-Gm-Message-State: APf1xPDF+8NS3A6vZi6V7qeSg0be5AV7oFc0uS2Px0cZwytpeCt52gFM QfnUal2LaQpnaVf+k1F6qGrc/7T+JehmnLt1WwPd2w== X-Google-Smtp-Source: AH8x224jsm5Mk7dPFKp86RWoaxhx5x42SUFhx1SuUt1OqFpEHxFFMio53EEPkcx7elQSrX0cG5R+VxuVnAbiapW009M= X-Received: by 10.107.162.84 with SMTP id l81mr2184538ioe.134.1517910650265; Tue, 06 Feb 2018 01:50:50 -0800 (PST) MIME-Version: 1.0 Received: by 10.2.163.146 with HTTP; Tue, 6 Feb 2018 01:50:49 -0800 (PST) From: Uros Bizjak Date: Tue, 06 Feb 2018 09:50:00 -0000 Message-ID: Subject: Re: [patch][i386] Adding pconfig, wbnoinvd and wbinvd intrinsics To: "gcc-patches@gcc.gnu.org" Cc: olga.makhotina@intel.com, Kirill Yukhin Content-Type: text/plain; charset="UTF-8" X-SW-Source: 2018-02/txt/msg00215.txt.bz2 > This patch adds new intrinsics: pconfig, wbnoinvd and wbinvd. > > 05.02.2018 Olga Makhotina > > gcc/ > * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCONFIG_SET, > OPTION_MASK_ISA_PCONFIG_UNSET, OPTION_MASK_ISA_WBNOINVD_SET, > OPTION_MASK_ISA_WBNOINVD_UNSET): New definitions. > (ix86_handle_option): Handle -mpconfig and -mwbnoinvd. > * config.gcc (pconfigintrin.h, wbnoinvdintrin.h) : Add headers. > * config/i386/cpuid.h (bit_PCONFIG, bit_WBNOINVD): New. > * config/i386/driver-i386.c (host_detect_local_cpu): Detect -mpconfig > and -mwbnoinvd. > * config/i386/i386-builtin.def (__builtin_ia32_wbnoinvd, > __builtin_ia32_wbinvd): New builtins. > (SPECIAL_ARGS2): New. > * config/i386/i386-c.c (__WBNOINVD__, __PCONFIG__): New. > (SPECIAL_ARGS2): New. > * config/i386/i386.c (ix86_target_string): Add -mpconfig and -mwbnoinvd. > (ix86_valid_target_attribute_inner_p): Ditto. > (ix86_init_mmx_sse_builtins): Add special_args2. > * config/i386/i386.h (TARGET_PCONFIG, TARGET_PCONFIG_P, TARGET_WBNOINVD, > TARGET_WBNOINVD_P): New. > * config/i386/i386.md (UNSPECV_WBINVD, UNSPECV_WBNOINVD): New. > (define_insn "wbinvd", define_insn "wbnoinvd"): New. > * config/i386/i386.opt: Add -mpconfig and -mwbnoinvd. > * config/i386/immintrin.h (_wbinvd): New intrinsic. > * config/i386/sgxintrin.h (_enclv_u32): Ditto. > * config/i386/pconfigintrin.h: New file. > * config/i386/wbnoinvdintrin.h: Ditto. > * config/i386/x86intrin.h: Add headers pconfigintrin.h and wbnoinvdintrin.h. > * doc/invoke.texi (-mpconfig, -mwbnoinvd): New. > > gcc/testsuite/ > * g++.dg/other/i386-2.C: Add -mpconfig and -mwbnoinvd. > * g++.dg/other/i386-3.C: Ditto. > * gcc.target/i386/sse-12.c: Ditto. > * gcc.target/i386/sse-13.c: Ditto. > * gcc.target/i386/sse-14.c: Ditto. > * gcc.target/i386/sgx.c (_enclv_u32): New tests. > * gcc.target/i386/sse-23.c: Add pconfig and wbnoinvd. > * gcc.target/i386/wbinvd-1.c: New test. > * gcc.target/i386/wbnoinvd-1.c: Ditto. > * gcc.target/i386/pconfig-1.c: Ditto. > > Is it ok for trunk? Please split out SGX changes to a separate patch. OK for mainline with the above change. Thanks, Uros.