On 09/02/2021 16:27, Andrea Corallo via Gcc-patches wrote:
> Jakub Jelinek <ja...@redhat.com> writes:
> 
>> On Tue, Feb 09, 2021 at 03:09:43PM +0100, Jakub Jelinek via Gcc-patches 
>> wrote:
>>>>    "TARGET_32BIT && TARGET_HAVE_LOB"
>>>> -  "le\t%|lr, %l0")
>>>> +  "*
>>>> +  if (get_attr_length (insn) == 4)
>>>> +    return \"le\\t%|lr, %l0\";
>>>> +  else
>>>> +    return \"subs\\t%|lr, #1\;bne\\t%l0\";
>>>> +  "
>>>
>>> Why not
>>> {
>>>   if (get_attr_length (insn) == 4)
>>>     return "le\t%|lr, %l0";
>>>   else
>>>     return "subs\t%|lr, #1;bne\t%l0";
>>> }
>>> instead?  Seems the arm backend uses "*..." more than the more modern {},
>>> but one needs to backslash prefix a lot which makes it less readable?
>>
>> Where "more modern" is introduced 19.5 years ago ;)
>>
>>      Jakub
> 
> I guess we really like traditions :)
> 
> Attached second version addressing this.
> 
> Thanks
> 
>   Andrea
> 

You're missing a clobber of the condition codes in the RTL.  This wasn't
needed before, but is now.

R.

Reply via email to