On Tue, Nov 30, 2021 at 11:35 PM Peter Bergner <berg...@linux.ibm.com> wrote:
>
> On 11/30/21 2:44 PM, Qing Zhao via Gcc-patches wrote:
> > Sorry for the confusing…
> > My major question is:
> >
> > for a variable of type __vector_pair,  could it be in a register?
>
> Yes.  To be pedantic, it will live in a vector register pair.
>
>
> > If it could be in a register, can we initialize this register with some 
> > constant value?
>
> For a __vector_pair, no, not as it is setup now.  We also do not have a
> use case where we would want to initialize a __vector_pair to a constant.
> Our normal (only?) use case with a __vector_pair is to load it up with
> some actual data from memory that represents a (partial) row of a matrix.
>
> For __vector_quad, it too lives in a register (accumulator register) and
> represents a small matrix.  We have the __builtin_mma_xxsetaccz (&acc)
> builtin to initialize it to a zero constant.

Given all this I suggest to exempt OPAQUE_TYPE from is_var_need_auto_init
instead of fixing up things at expansion time.

Richard.

> Peter
>

Reply via email to