> On Aug 26, 2024, at 10:14 AM, Michael Matz <m...@suse.de> wrote:
> 
> Hello,
> 
> On Sun, 25 Aug 2024, Jeff Law wrote:
> 
>>>   550: [--sp] = 0             sp_off = 0  {pushexthisi_const}
>>>   551: [--sp] = 37            sp_off = -4 {pushexthisi_const}
>>>   552: [--sp] = r37           sp_off = -8 {movsi_m68k2}
>>>   554: [--sp] = r116 - r37    sp_off = -12 {subsi3}
>>>   556: call                   sp_off = -16
>>> 
>>> insn 554 doesn't match its constraints and needs some reloads:
>> 
>> I think you're right in that the current code isn't correct, but the 
>> natural question is how in the world has this worked to-date.  Though I 
>> guess targets which push arguments are a dying breed (though I would 
>> have expected i386 to have tripped over this at some point).
> 
> Yeah, I wondered as well.  For things to go wrong some instructions that 
> contain pre/post-inc/dec of the stack pointer need to have reloads in such 
> a way that the actual SP-change sideeffect moves to a different 
> instruction.  

I think I've seen that in the past on PDP11, and reported it, but I thought 
that particular issue was fixed not too long after.

        paul

Reply via email to