This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 17/09/18 12:43, Richard Sandiford wrote:
OK, sounds like the cost of vec_construct is too low then. But looking at the port, I see you have: /* Implement TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST. */ int gcn_vectorization_cost (enum vect_cost_for_stmt ARG_UNUSED (type_of_cost), tree ARG_UNUSED (vectype), int ARG_UNUSED (misalign)) { /* Always vectorize. */ return 1; } which short-circuits the cost-model altogether. Isn't that part of the problem?
Well, it's possible that that's a little simplistic. ;-)Although, actually the elementwise issue predates the existence of gcn_vectorization_cost, and the default does appear to penalize vec_construct somewhat.
Actually, the default definition doesn't seem to do much besides increase vec_construct, so I'm not sure now why I needed to change it? Hmm, more experiments to do.
Thanks for the pointer. Andrew
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |