Hi! On Fri, Jun 24, 2022 at 09:03:59AM +0800, Kewen.Lin wrote: > on 2022/6/24 03:06, Segher Boessenkool wrote: > > On Wed, May 18, 2022 at 10:07:48PM +0800, Kewen.Lin wrote: > >> As PR103353 shows, we may want to continue to expand a MMA built-in > >> function like a normal function, even if we have already emitted > >> error messages about some missing required conditions. As shown in > >> that PR, without one explicit mov optab on OOmode provided, it would > >> call emit_move_insn recursively. > > > > First off: lxvp is a VSX insn, not an MMA insn. So please don't call it > > that -- this confusion is what presumably caused the problem here, so it > > would be good to root it out :-) > > I guess the "it" in "don't call it call" is for "MMA built-in function"? > It comes from the current code:
Your proposed commit message says "MMA built-in function". It is not an MMA builtin, or rather, it should not be. > >> + /* Opaque modes are only expected to be available when MMA is supported, > > > > Why do people expect that? It is completely wrong. The name "opaque" > > itself already says this is not just for MMA, but perhaps more > > importantly, it is a basic VSX insn, doesn't touch any MMA resources, > > and is useful in other contexts as well. > > ... The above statements are also based on current code, for now, the > related things like built-in functions, mov optab, hard_regno_ok etc. > for these two modes are guarded by TARGET_MMA. Opaque modes are a generic thing, not an rs6000 thing. It is important not to conflate completely different things that just happened to coincide some months ago (but not anymore right now even!) > I think I get your points here, you want to separate these opaque > modes from MMA since the underlying lxvp/stxvp are not MMA specific, > so those related things (bifs, mov optabs etc.) are not necessarily > guarded under MMA. Yup. This can take some time of course, but in the mean time we should stop pretending the status quo is correct. > > So this needs some bigger surgery. > > Yes, Peter may have more comments on this. Yes. Can you do a patch that just fixes this PR103353, without adding more misleading comments? :-) Segher