From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22014 invoked by alias); 10 Jul 2013 06:37:16 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 21976 invoked by uid 48); 10 Jul 2013 06:37:11 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/57858] AVX2: ymm used for div, not for sqrt Date: Wed, 10 Jul 2013 06:37:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-07/txt/msg00582.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57858 --- Comment #4 from Jakub Jelinek --- Actually, it isn't vectorized at all, because PRE attempts to be smart, figures out that for the first iteration of the loop it can avoid computing the sqrt because the result will be one, and moves thus the sqrt call into the latch, but we can't vectorize any loops that have non-empty latches. So, either the vectorizer would need to undo this transformation, or PRE not do it at all, or arrange for it to be done only after vectorizations. Richard, any thoughts on this?