From patchwork Fri May 6 11:36:19 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 94363 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 04EF2B6FC9 for ; Fri, 6 May 2011 21:36:37 +1000 (EST) Received: (qmail 25924 invoked by alias); 6 May 2011 11:36:35 -0000 Received: (qmail 25809 invoked by uid 22791); 6 May 2011 11:36:34 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, RFC_ABUSE_POST, TW_ZJ, T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-px0-f172.google.com (HELO mail-px0-f172.google.com) (209.85.212.172) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 06 May 2011 11:36:20 +0000 Received: by pxi6 with SMTP id 6so2398308pxi.17 for ; Fri, 06 May 2011 04:36:19 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.21.28 with SMTP id y28mr1834527wfi.211.1304681779802; Fri, 06 May 2011 04:36:19 -0700 (PDT) Received: by 10.143.158.12 with HTTP; Fri, 6 May 2011 04:36:19 -0700 (PDT) Date: Fri, 6 May 2011 13:36:19 +0200 Message-ID: Subject: [PATCH, i386]: Apply "*" constraint modifier to "r" in *movdf_internal_nointeger From: Uros Bizjak To: gcc-patches@gcc.gnu.org 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! We should avoid to allocate "r" in *_nointeger instructions. Constraint modifiers apply to a following character, not to the whole alternative. 2011-05-06 Uros Bizjak * config/i386/i386.md (*movdf_internal_nointeger): Apply "*" constraint modifier to "r". Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN and (soon) 4.6 branch. Uros. Index: config/i386/i386.md =================================================================== --- config/i386/i386.md (revision 173469) +++ config/i386/i386.md (working copy) @@ -3251,7 +3251,7 @@ [(set (match_operand:DF 0 "nonimmediate_operand" "=f,m,f,*r ,o ,Y2*x,Y2*x,Y2*x ,m ") (match_operand:DF 1 "general_operand" - "fm,f,G,*roF,*Fr,C ,Y2*x,mY2*x,Y2*x"))] + "fm,f,G,*roF,F*r,C ,Y2*x,mY2*x,Y2*x"))] "!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1])) && (optimize_function_for_size_p (cfun) || !TARGET_INTEGER_DFMODE_MOVES)