Re: "insn does not satisfy its constraints" compiling perl

Kalvis Duckmanton <[email protected]> Tue, 3 Mar 2026 22:20:38 +1100
Newsgroups gmane.os.netbsd.ports.vax
Message-ID <[email protected]>
Hi Adrian,
On 3/3/26 21:38, John Paul Adrian Glaubitz wrote:
> Hi Kalvis,
>
> On Tue, 2026-03-03 at 20:24 +1100, Kalvis Duckmanton wrote:
>> On 3/3/26 18:05, John Paul Adrian Glaubitz wrote:
>>> Hi Kalvis,
>>>
>>> On Tue, 2026-03-03 at 16:20 +1100, Kalvis Duckmanton wrote:
>>>> I'm not sure that I understand why the 'earlyclobber' constraint is
>>>> applied to the output operand of '*extzv_aligned_2'.  If I remove the
>>>> 'earlyclobber' constraint, GCC 12.5.0 compiles both the reduced test
>>>> case and the original 'toke.i' without incident. (Also the NetBSD
>>>> distribution, but it did that before.)
>>> I'm not sure whether it makes much sense to debug the problem in detail,
>>> as interesting as it sounds, when you confirm the issue is not present in
>>> GCC 14.
>> I couldn't reproduce the problem with the same input.  I do suspect that
>> it is still there in GCC 14, but I'm not sure how to expose it (other
>> than by compiling GCC or Perl or something of that sort and seeing what
>> happens).
> There were many improvements in the vax backend which is why I think that
> chances are the issue was actually fixed.
>
> Did you check the GCC commit history whether there is a related change?

My suspicion is based upon the observation that the constraints on 
'*extzv_aligned' are the same in GCC 15 and GCC 14 (and GCC 12).  I 
agree that there is some change which is preventing this problem from 
reappearing in GCC 14.

I haven't checked the GCC history between version 12 and version 14 yet; 
I will check as suggested :)

thanks,

kalvis