From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 52931 invoked by alias); 20 May 2016 15:12:27 -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 52313 invoked by uid 89); 20 May 2016 15:12:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=Andi, kleen, Kleen, manipulations X-HELO: mail2-relais-roc.national.inria.fr Received: from mail2-relais-roc.national.inria.fr (HELO mail2-relais-roc.national.inria.fr) (192.134.164.83) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 20 May 2016 15:12:15 +0000 Received: from 81-65-27-132.rev.numericable.fr (HELO laptop-mg.local) ([81.65.27.132]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 May 2016 17:11:59 +0200 Date: Fri, 20 May 2016 15:12:00 -0000 From: Marc Glisse Reply-To: gcc-patches@gcc.gnu.org To: Andi Kleen cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH][RFC] Introduce BIT_FIELD_INSERT In-Reply-To: <87r3cwes8x.fsf@tassilo.jf.intel.com> Message-ID: References: <87r3cwes8x.fsf@tassilo.jf.intel.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-SW-Source: 2016-05/txt/msg01660.txt.bz2 On Fri, 20 May 2016, Andi Kleen wrote: > Richard Biener writes: > >> The following patch adds BIT_FIELD_INSERT, an operation to >> facilitate doing bitfield inserts on registers (as opposed >> to currently where we'd have a BIT_FIELD_REF store). > > I wonder if these patches would make it easier to use the Haswell > bit manipulations instructions on x86 (which act on registers). > > I found that gcc makes significantly less use of them than LLVM, > sometimes leading to much bigger code. Could you point at some bugzilla entries? I don't really see which BMI* instruction could be helped by BIT_FIELD_INSERT (PDEP seems too hard). There is one BMI1 instruction we don't use much, bextr (only defined with an UNSPEC in i386.md, unlike the TBM version), but it is about extracting. -- Marc Glisse