From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77523 invoked by alias); 5 May 2015 12:23:22 -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 77511 invoked by uid 89); 5 May 2015 12:23:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-oi0-f42.google.com Received: from mail-oi0-f42.google.com (HELO mail-oi0-f42.google.com) (209.85.218.42) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 05 May 2015 12:23:11 +0000 Received: by oift201 with SMTP id t201so144927886oif.3 for ; Tue, 05 May 2015 05:23:09 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.43.178.201 with SMTP id ox9mr3431853icc.49.1430828584655; Tue, 05 May 2015 05:23:04 -0700 (PDT) Received: by 10.107.136.84 with HTTP; Tue, 5 May 2015 05:23:04 -0700 (PDT) In-Reply-To: References: Date: Tue, 05 May 2015 12:23:00 -0000 Message-ID: Subject: Re: [PATCH, i386]: Switch x86 to TARGET_SUPPORTS_WIDE_INT From: Evgeny Stupachenko To: "H.J. Lu" Cc: Uros Bizjak , "Zamyatin, Igor" , "gcc-patches@gcc.gnu.org" , Jan Hubicka Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015-05/txt/msg00313.txt.bz2 Hi HJ, I've checked spec2000 performance. Only few spec binaries differ. Anyway performance is unchanged. Thanks, Evgeny On Thu, Apr 30, 2015 at 10:08 PM, H.J. Lu wrote: > On Thu, Apr 30, 2015 at 12:01 PM, Uros Bizjak wrote: >> Hello! >> >> Attached patch switches x86 to TARGET_SUPPORTS_WIDE_INT. >> >> The patch builds on the fact that build requires >> HOST_BITS_PER_WIDE_INT = 64 capable host. Taking this in account, >> noticeable blocks of code can be removed, and all but one >> immed_double_const can be removed. >> >> The only wide-int mode that remains is TImode. >> >> 2015-04-30 Uros Bizjak >> >> * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define. >> * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode >> as CONST_WIDE_INT, not CONST_DOUBLE. >> (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT. >> (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs. >> (ix86_find_base_term): Do not check for CONST_DOUBLE. >> (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs. >> (ix86_build_signbit_mask): Rewrite using wide ints. >> (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove. >> (ix86_rtx_costs): Handle CONST_WIDE_INT. >> (find_constant): Ditto. >> * config/i386/i386.md (bts, btr, btc peepholes): Rewrite >> using gen_int_mode. >> * config/i386/predicates.md (x86_64_immediate_operand) >> : Remove HOST_BITS_PER_WIDE_INT == 32 code. >> (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling. >> : Remove HOST_BITS_PER_WIDE_INT == 32 code. >> (const0_operand): Also match const_wide_int. >> (constm1_operand): Ditto. >> (const1_operand): Ditto. >> >> Patch was bootstrapped and regression tested on x86_64-linux-gnu >> {,-m32} and i686-linux-gnu. >> >> I won't be able to commit the patch until Monday. H.J., can you please >> test it on your SPEC testers, so there won't be any surprises w.r.t. >> performance issues. > > Hi Igor, > > Can your team run SPEC CPU on this patch? > > Thanks. > > -- > H.J.