[patch] PR target/36613: reload codegen bug
Ulrich Weigand
uweigand@de.ibm.com
Mon Aug 4 17:00:00 GMT 2008
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
More information about the Gcc-patches
mailing list