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 >