From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16650 invoked by alias); 6 Sep 2013 16:58:32 -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 16641 invoked by uid 89); 6 Sep 2013 16:58:31 -0000 Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com) (209.85.214.173) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 06 Sep 2013 16:58:31 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.4 required=5.0 tests=BAYES_00,FREEMAIL_FROM,KHOP_THREADED,NO_RELAYS autolearn=ham version=3.3.2 X-HELO: mail-ob0-f173.google.com Received: by mail-ob0-f173.google.com with SMTP id ta17so3673627obb.4 for ; Fri, 06 Sep 2013 09:58:29 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.60.62.38 with SMTP id v6mr2512399oer.45.1378486709174; Fri, 06 Sep 2013 09:58:29 -0700 (PDT) Received: by 10.76.174.70 with HTTP; Fri, 6 Sep 2013 09:58:29 -0700 (PDT) In-Reply-To: <7703907.JSoGtmLQkn@polaris> References: <20130705112534.GA10164@kam.mff.cuni.cz> <7703907.JSoGtmLQkn@polaris> Date: Fri, 06 Sep 2013 16:58:00 -0000 Message-ID: Subject: Re: [PATCH, x86] Use vector moves in memmove expanding From: "H.J. Lu" To: Eric Botcazou Cc: Kirill Yukhin , GCC Patches , Jan Hubicka , Michael Zolotukhin , =?ISO-8859-1?Q?Ond=C5=3Fej_B=EDlka?= , Uros Bizjak Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2013-09/txt/msg00430.txt.bz2 On Tue, Sep 3, 2013 at 12:01 PM, Eric Botcazou wrote: >> Changes were checked into trunk: >> http://gcc.gnu.org/ml/gcc-cvs/2013-07/msg00179.html > > The patch miscompiles the MPFR library on x86 Pentium Pro. Reduced testcase > attached, compile for x86 with -mtune=pentiumpro. > The change in question has @@ -23169,7 +23150,7 @@ ix86_expand_movmem (rtx dst, rtx src, rtx count_exp, rtx align_exp, if (count_exp != const0_rtx && epilogue_size_needed > 1) expand_movmem_epilogue (dst, src, destreg, srcreg, count_exp, - epilogue_size_needed); + size_needed); if (jump_around_label) emit_label (jump_around_label); return true; Michael, why did you change epilogue_size_needed to size_needed here? It looks wrong to me. -- H.J.