This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] PR target/36613: reload codegen bug


Michael Matz wrote:

> As I noted in the large bugzilla comment I see two ways of fixing this:
> 1) also take the size of operands into account while merging the in/out 
>    members, in push_reload
> 2) overhaul do_input_reload and do_output_reload to care for 
>    inmode/outmode _first_ before falling back to the operands.

Your analysis looks good to me; I agree that option (1) is the more 
straightforward fix; it also has the benefit of having in/out match
inmode/outmode more frequently than otherwise, which certainly reduces
confusion ...

> 	PR target/36613
> 
> 	* reload.c (push_reload): Merge in,out,in_reg,out_reg members
> 	for reused reload, instead of overwriting them.
> 
> 	* gcc.target/i386/pr36613.c: New testcase.

This is OK for mainline (and for 4.3 after some time has passed).

Thanks,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]