Re: [PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores.

2018-09-20 Thread Richard Sandiford
Richard Biener writes: > On Thu, Sep 20, 2018 at 3:40 PM Richard Sandiford > wrote: >> >> Richard Biener writes: >> > On Mon, Sep 17, 2018 at 2:40 PM Andrew Stubbs >> > wrote: >> >> On 17/09/18 12:43, Richard Sandiford wrote: >> >> > OK, sounds like the cost of vec_construct is too low then.

Re: [PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores.

2018-09-20 Thread Richard Biener
On Thu, Sep 20, 2018 at 3:40 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Mon, Sep 17, 2018 at 2:40 PM Andrew Stubbs wrote: > >> 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 y

Re: [PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores.

2018-09-20 Thread Richard Sandiford
Richard Biener writes: > On Mon, Sep 17, 2018 at 2:40 PM Andrew Stubbs wrote: >> 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

Re: [PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores.

2018-09-20 Thread Richard Biener
On Mon, Sep 17, 2018 at 2:40 PM Andrew Stubbs wrote: > > 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 > > gc

Re: [PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores.

2018-09-17 Thread Andrew Stubbs
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),

Re: [PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores.

2018-09-17 Thread Richard Sandiford
Andrew Stubbs writes: > On 17/09/18 10:14, Richard Sandiford wrote: >> writes: >>> If the autovectorizer tries to load a GCN 64-lane vector elementwise then it >>> blows away the register file and produces horrible code. >> >> Do all the registers really need to be live at once, or is it "just"

Re: [PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores.

2018-09-17 Thread Andrew Stubbs
On 17/09/18 10:14, Richard Sandiford wrote: writes: If the autovectorizer tries to load a GCN 64-lane vector elementwise then it blows away the register file and produces horrible code. Do all the registers really need to be live at once, or is it "just" bad scheduling? I'd have expected the

Re: [PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores.

2018-09-17 Thread Richard Sandiford
writes: > If the autovectorizer tries to load a GCN 64-lane vector elementwise then it > blows away the register file and produces horrible code. Do all the registers really need to be live at once, or is it "just" bad scheduling? I'd have expected the initial rtl to load each element and then i

[PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores.

2018-09-05 Thread ams
If the autovectorizer tries to load a GCN 64-lane vector elementwise then it blows away the register file and produces horrible code. This patch simply disallows elementwise loads for such large vectors. Is there a better way to disable this in the middle-end? 2018-09-05 Julian Brown