From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29611 invoked by alias); 10 Dec 2007 03:17:52 -0000 Received: (qmail 29548 invoked by alias); 10 Dec 2007 03:17:39 -0000 Date: Mon, 10 Dec 2007 03:17:00 -0000 Message-ID: <20071210031739.29545.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/32889] [4.2 Regression] ICE in delete_output_reload, at reload1.c:7926 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "danglin at gcc dot gnu dot org" 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: 2007-12/txt/msg00778.txt.bz2 ------- Comment #14 from danglin at gcc dot gnu dot org 2007-12-10 03:17 ------- Subject: Bug 32889 Author: danglin Date: Mon Dec 10 03:17:24 2007 New Revision: 130735 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130735 Log: PR middle-end/32889 PR target/34091 * pa.md: Consolidate HImode and QImode move patterns into one pattern each, eliminating floating-point alternatives. * pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p): Declare functions. * pa-64.h (SECONDARY_MEMORY_NEEDED): Define here. * pa.c (pa_secondary_reload): Use an intermediate general register for copies to/from floating-point register classes. Simplify code SHIFT_REGS class. Provide additional comments. (pa_cannot_change_mode_class, pa_modes_tieable_p): New functions. * pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p. (SECONDARY_MEMORY_NEEDED): Delete define. (INT14_OK_STRICT): Define. (MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using soft float. (MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise. (GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for SFmode and DFmode. (LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection. Align DImode offsets when generating 64-bit code. * pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode. (CANNOT_CHANGE_MODE_CLASS): Define. * pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode. (CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class. Modified: branches/gcc-4_2-branch/gcc/ChangeLog branches/gcc-4_2-branch/gcc/config/pa/pa-64.h branches/gcc-4_2-branch/gcc/config/pa/pa-protos.h branches/gcc-4_2-branch/gcc/config/pa/pa.c branches/gcc-4_2-branch/gcc/config/pa/pa.h branches/gcc-4_2-branch/gcc/config/pa/pa.md branches/gcc-4_2-branch/gcc/config/pa/pa32-regs.h branches/gcc-4_2-branch/gcc/config/pa/pa64-regs.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32889