Hi,

I need to learn much more about ARM architecture, but I have some initial
comments.

Julian Brown <jul...@codesourcery.com> wrote on 15/09/2010 11:37:21 AM:

>   * automatic vector size selection (it's currently selected by command
>     line switch)


> Generally (check assumption) I think that wider vectors may make inner
loops more efficient,
> but may increase the size of setup/teardown code (e.g. setup: increased
versioning. Teardown,
> increased insns for reduction ops). More importantly, sometimes larger
vectors may inhibit vectorization.
> We ideally want to calculate costs per vector-size per-loop (or per other
vectorization opportunity).

There is a patch http://gcc.gnu.org/ml/gcc-patches/2010-03/msg00167.html
that was not committed to mainline (and I think not to vect256, but I am
not sure about that). This patch tries to vectorize for the wider option
unless it is impossible because of data dependence constraints.

I agree with that cost model approach.

>
>   * ensure that all gcc vectorizer pattern names are implemented in the
>     machine description (those that can be).

In my opinion we better concentrate on:

>   * Conversly, perhaps identify NEON capabilities not covered by GCC
>     patterns, and add them to gcc (e.g. vld2/vld3/vld4 insns)


Most of the existing vectorizer patterns were inspired by Altivec's
capabilities. I think our approach should originate from the architecture
and not the other way around. For example, I don't think we should spend
time on implementation of vect_extract_even/odd and
vect_interleave_high/low (even though they seem to match VUNZIP and VZIP),
when we have those amazing VLD2/3/4 and VST2/3/4 instructions.


>
> I've not even started on looking at:
>
>   * loops with more than two basic blocks (caused by if statements
>     (anything else?))

What do you mean by that? If-conversion improvements?

>
> Do you (Ira) have access to the ARM ISA docs detailing the NEON
> instructions?

I have "ARM® Architecture Reference Manual ARM®v7-A and ARM®v7-R edition".

Ira

>
> Cheers,
>
> Julian[attachment "CS308-vectorization-improvements.txt" deleted by
> Ira Rosen/Haifa/IBM]


_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to