> On Dec 1, 2021, at 3:01 AM, Richard Biener <richard.guent...@gmail.com> wrote: > > 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.
Agreed. So, Peter, will you update the routine “is_var_need_auto_init” in gimplify.c to exclude OPAQUE_TYPE to fix this issue? thanks. Qing > > Richard. > >> Peter