From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10109 invoked by alias); 6 Dec 2012 02:20:28 -0000 Received: (qmail 9900 invoked by uid 55); 6 Dec 2012 02:20:04 -0000 From: "danglin at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/55195] [4.8 Regression] shorten_branches generates incorrect forward branch distances Date: Thu, 06 Dec 2012 02:20: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-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: danglin at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: danglin at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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 X-SW-Source: 2012-12/txt/msg00512.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55195 --- Comment #19 from John David Anglin 2012-12-06 02:19:57 UTC --- Author: danglin Date: Thu Dec 6 02:19:48 2012 New Revision: 194238 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194238 Log: Backport for mainline: 2011-11-30 John David Anglin PR middle-end/50283 * config/pa/pa.md (in_branch_delay): Disallow frame related insns. (in_nullified_branch_delay): Likewise. (in_call_delay): Likewise. 2012-11-12 John David Anglin PR target/55195 * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types. (in_branch_delay): Don't allow sibcall or sh_func_adrs insns. (in_nullified_branch_delay): Likewise. (in_call_delay): Likewise. Define delay for sibcall insns. Adjust Z3 and Z4 insn reservations for new types. Add opaque cond to mark all calls, sibcalls, dyncalls and the $$sh_func_adrs call as variable. Update type of sibcalls and $$sh_func_adrs call. * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated length instead of adjustment. Handle negative and undefined call adjustments for insn_default_length. Remove adjustment for millicode insn with unfilled delay slot. (pa_output_millicode_call): Update for revised millicode length. * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH. 2012-12-05 John David Anglin * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify opaque cond in all call insns. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/config/pa/pa.c branches/gcc-4_6-branch/gcc/config/pa/pa.h branches/gcc-4_6-branch/gcc/config/pa/pa.md