[PATCH] Restore alignment in rs6000 target.

Martin Liška mliska@suse.cz
Mon Mar 9 13:08:32 GMT 2020


On 3/6/20 6:07 PM, Segher Boessenkool wrote:
> On Fri, Mar 06, 2020 at 02:07:15PM +0100, Martin Liška wrote:
>> After r9-1623-gc518c1025b435e1c593a745036fc9b8ed04c5819 the code was
>> changed to:
>>
>> -         if (align_jumps_max_skip <= 0)
>> -           align_jumps_max_skip = 15;
>> -         if (align_loops_max_skip <= 0)
>> -           align_loops_max_skip = 15;
>> +
>> +         if (flag_align_jumps && !str_align_jumps)
>> +           str_align_jumps = "16";
>> +         if (flag_align_loops && !str_align_loops)
>> +           str_align_loops = "16";
>>
>> which for situation where align_* was 0 caused that max_skip didn't play
>> any role.
>> My code wrongly changed that to str_align_jumps, which is now the was which
>> includes
>> both alignment (and max skip). The hunk should not be here.
> 
> Do you have a testsuite test as well?  Or, how else was this checked?

Yes, I've extended the patch by addition of a test-case.

> 
>> 	PR target/93800
>> 	* config/rs6000/rs6000.c (rs6000_option_override_internal):
>> 	Remove set of str_align_loops and str_align_jumps as these
>> 	should be set in previous 2 conditions in the function.
> 
> Okay for trunk, maybe with an added test.  Thanks!

I'm going to install the patch.
Martin

> 
> 
> Segher
> 



More information about the Gcc-patches mailing list