From patchwork Fri Aug 3 18:50:47 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 175039 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 337EF2C008C for ; Sat, 4 Aug 2012 04:51:10 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1344624671; h=Comment: DomainKey-Signature:Received:Received:Received:Received: MIME-Version:Received:Received:Date:Message-ID:Subject:From:To: Cc:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:Sender:Delivered-To; bh=eNfIzC3 wrPS2QNK+3vEwkHtV6mQ=; b=IZFtD/SpneIZbKTI7tUKpqdz8heYkbeQHEnBH8X bb5Al+WRhXOdaB1UDRE6BrnNxr+V/DOSbAQAOouhkBOgGYkn0UGr/kOPoMtbuoVk 8oTCb//ZIeOrB0+hmzHj9zvfVZNXeFERYJL8oMiicaUHr393tAnRjmsZqqJh1g22 nF74= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:MIME-Version:Received:Received:Date:Message-ID:Subject:From:To:Cc:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=uPvd6eWEfWcMTCC1sI6g+z6+cuuFmYHz1FIOkg52+8OgefmwrTweFTqzAbJljn I2Zcmxdn7UixSeF8GRxI5QKULuTmDvGiR/03UKiNPWD0+6zicNTKv1JlS+u9bwcq /e9u0T0Jc/op2IIprLFxPMozvJRjhSkU3cKUp7lGcEX1Q=; Received: (qmail 12350 invoked by alias); 3 Aug 2012 18:51:03 -0000 Received: (qmail 12340 invoked by uid 22791); 3 Aug 2012 18:51:01 -0000 X-SWARE-Spam-Status: No, hits=-4.2 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, KHOP_RCVD_TRUST, RCVD_IN_DNSWL_LOW, RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-yw0-f47.google.com (HELO mail-yw0-f47.google.com) (209.85.213.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 03 Aug 2012 18:50:48 +0000 Received: by yhjj56 with SMTP id j56so1237484yhj.20 for ; Fri, 03 Aug 2012 11:50:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.66.79.195 with SMTP id l3mr643346pax.33.1344019847422; Fri, 03 Aug 2012 11:50:47 -0700 (PDT) Received: by 10.66.11.130 with HTTP; Fri, 3 Aug 2012 11:50:47 -0700 (PDT) Date: Fri, 3 Aug 2012 20:50:47 +0200 Message-ID: Subject: Re: Reload/i386 patch for secondary memory vs subregs From: Uros Bizjak To: gcc-patches@gcc.gnu.org Cc: Bernd Schmidt 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 Hello! > Bootstrapped and tested on i686-linux. It's also been in several of our > internal trees, going back to even 4.4-based ones IIRC, and has had > testing for several architectures. Ok for the i386 part? I intend to > check the reload bits in soon if there are no objections. Is this correctness or performance issue? SSE regs can hold SImode or DImode values, so it looks to me that this limitation is true only for QI and HI modes. Can you perhaps explain the reason for this limitation a bit more? Uros. Index: gcc/config/i386/i386.h =================================================================== --- gcc/config/i386/i386.h (revision 189284) +++ gcc/config/i386/i386.h (working copy) @@ -1376,7 +1376,8 @@ enum reg_class ((MODE) == QImode && !TARGET_64BIT \ && ((CLASS) == ALL_REGS || (CLASS) == GENERAL_REGS \ || (CLASS) == LEGACY_REGS || (CLASS) == INDEX_REGS) \ - ? Q_REGS : (CLASS)) + ? Q_REGS \ + : (CLASS) == INT_SSE_REGS ? GENERAL_REGS : (CLASS)) /* If we are copying between general and FP registers, we need a memory location. The same is true for SSE and MMX registers. */