On 11/30/20 9:02 AM, Maciej W. Rozycki wrote: > On Fri, 20 Nov 2020, Jeff Law wrote: > >> ps. Yes, I skipped the insv/extv changes. They're usually a rats nest >> of special cases. We'll come back to them. > I've thought of actually reducing the number of patterns to the minimum > possible by folding the existing ones together, and then getting the > alternatives sorted by fine-grained constraints at reload. That might work, but I've generally found insv/extv to be fairly painful through the years, more because of limitations on the generic bits rather than the target bits. > > There is that complication caused by INSV machine instruction preserving > condition codes (understandably), so keeping it together with alternative > code sequences that do set the codes in a single RTL insn would cause > trouble with getting a matching insn for the comparison elimination pass. > Or so I think. Yea. I think that is (in general) not a well solved problem. We have similar issues on the H8 where we have multiple ways to implement certain operations -- some of which set/clobber flags while others don't touch them. Depending on the context one form may be preferable to the other. I've punted this problem so far as I strongly suspect the gains in handling this scenario well are marginal at best. Jeff
- Re: [PATCH 21/31] VAX: Remove EXTV/EXTZV/INS... Jeff Law via Gcc-patches
- [PATCH 22/31] VAX: Ensure PIC mode address is adj... Maciej W. Rozycki
- Re: [PATCH 22/31] VAX: Ensure PIC mode addre... Jeff Law via Gcc-patches
- [PATCH 23/31] VAX: Make `extv' an expander matchi... Maciej W. Rozycki
- Re: [PATCH 23/31] VAX: Make `extv' an expand... Jeff Law via Gcc-patches
- [PATCH 24/31] VAX: Fix predicates and constraints... Maciej W. Rozycki
- Re: [PATCH 24/31] VAX: Fix predicates and co... Jeff Law via Gcc-patches
- [PATCH 25/31] VAX: Fix predicates for widening mu... Maciej W. Rozycki
- Re: [PATCH 25/31] VAX: Fix predicates for wi... Jeff Law via Gcc-patches
- Re: [PATCH 25/31] VAX: Fix predicates fo... Maciej W. Rozycki
- Re: [PATCH 25/31] VAX: Fix predicate... Jeff Law via Gcc-patches
- [PATCH 26/31] VAX: Correct issues with commented-... Maciej W. Rozycki
- Re: [PATCH 26/31] VAX: Correct issues with c... Jeff Law via Gcc-patches
- [PATCH 27/31] VAX: Make the `divmoddisi4' and `*a... Maciej W. Rozycki
- Re: [PATCH 27/31] VAX: Make the `divmoddisi4... Jeff Law via Gcc-patches
- Re: [PATCH 27/31] VAX: Make the `divmoddisi4... Segher Boessenkool
- [PATCH 28/31] RTL: Add `const_double_zero' syntac... Maciej W. Rozycki
- Re: [PATCH 28/31] RTL: Add `const_double_zer... Jeff Law via Gcc-patches
- [PATCH 29/31] PDP11: Use `const_double_zero' to e... Maciej W. Rozycki
- Re: [PATCH 29/31] PDP11: Use `const_double_z... Jeff Law via Gcc-patches
- Re: [PATCH 29/31] PDP11: Use `const_double_z... Martin Liška