On 5/30/23 17:37, juzhe.zhong wrote:
Oh. I forgot we need vl/vtype regnum dependency. It seems extending vla pattern with vls mode is unavoidable. So.... I think we can define_insn_and _spit and split intructions after RA so that we can get benefits from general rtl code patterns.
So you're suggesting to represent them in the relatively simple VLS form until some split pass (split1?) then lower the VLS form into the VLA from?

Isn't that option #2 from Kito's proposal? Essentially at split1 we convert the VLS into VLA and it stays VLA from that point through codegen. I know Kito said it "might be weird and not natural", but in my mind I can easily see the version step as a lowering which very much matches what we often are trying to do with define_insn_and_split. The downside is we end up duplicating a ton of patterns.

I think one of Kito's proposals was to add an iterator to the existing sets so that the VLA patterns match. Presumably we'd then key a lowering step based on the mode?

Where do we stand on this now? Waiting on Kito to resubmit a VLS->VLA lowering via define_insn_and_split or do we think Kito's approach is viable?

Is this blocking any work?

jeff

Reply via email to