On 05/15/2016 03:43 AM, Woon yung Liu wrote:
testv.c:70:2: note: ==> examining statement: _5 = (int) _4;
You need to implement the vec_unpack* patterns.
But how can I tell what operations are required by autovectorization, that are currently not supported?
Well, the dumps you're looking at are the start. But it also requires that you look through tree-vect-stmts.c.
My port is still missing the instructions for initializing vectors, and inserting/setting and extracting values from vectors. They aren't implemented yet because I haven't figured out how to implement them; the documentation describes them as simple operations, but yet the implementations within mips.c do a lot more things!
Efficient vector initialization requires that we detect some common cases. We do that before the fully general mips_expand_vi_general.
r~