[Bug middle-end/19454] [4.0 Regression] bad code generated with gcc.c-torture/execute/bf64-1.c at -O1

cvs-commit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Apr 1 11:23:00 GMT 2005


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-04-01 11:23 -------
Subject: Bug 19454

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	bonzini@gcc.gnu.org	2005-04-01 11:23:08

Modified files:
	gcc            : ChangeLog combine.c 
	gcc/config/i386: i386.c 

Log message:
	2005-04-01  Paolo Bonzini  <bonzini@gnu.org>
	
	PR middle-end/19454
	PR rtl-optimization/20600
	
	* combine.c (gen_binary): Remove.
	(known_cond, simplify_shift_const, find_split_point,
	combine_simplify_rtx, simplify_if_then_else, simplify_set,
	simplify_logical, expand_field_assignment, extract_left_shift,
	force_to_mode, if_then_else_cond, apply_distributive_law,
	simplify_and_const_int, simplify_shift_const, gen_lowpart_for_combine,
	simplify_comparison, reversed_comparison): Replace with
	simplify_gen_binary, simplify_gen_relational or
	distribute_and_simplify_rtx.
	(distribute_and_simplify_rtx): New function.
	
	* config/i386/i386.c (ix86_decompose_address): Look inside SUBREGs
	to fix addresses involving EBP and ESP.
	(aligned_operand, legitimate_address_p, ix86_address_cost): Be prepared
	for SUBREGed registers.
	(legitimate_address_p): Accept SUBREGed registers.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.107&r2=2.7592.2.108
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.475.4.1&r2=1.475.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.795.6.1&r2=1.795.6.2



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19454



More information about the Gcc-bugs mailing list