From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25970 invoked by alias); 24 Nov 2014 05:29:29 -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 25931 invoked by uid 48); 24 Nov 2014 05:29:24 -0000 From: "zhenqiang.chen at arm dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/64015] [5.0 Regression] AArch64 ICE due to conditional compare Date: Mon, 24 Nov 2014 05:29:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: zhenqiang.chen at arm dot com X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 5.0 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: 2014-11/txt/msg02654.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64015 --- Comment #2 from Zhenqiang Chen --- You force it to register? In fact, I tend to not force it to register in gen_ccmp_next, since it will introduce more overhead for ccmp, which performance maybe worse. My patch to fix the issue is at: https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02966.html For CCMP, we still miss two optimizations for it: 1) Change the order of compares. In the case, if you change it to b > 252 && a > 10 You don't need "mov w0, 252" uxtb w1, w1 uxtb w0, w0 cmp w1, 252 ccmp w0, 10, 0, hi cset w0, hi ret 2) How to justify it is valueable (the overhead of ccmp is OK) when generating ccmp?