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