On Tue, 6 Jun 2017, Kyrill Tkachov wrote:

Another vec_merge simplification that's missing is transforming:
(vec_merge (vec_duplicate x) (vec_concat (y) (z)) (const_int N))
into
(vec_concat x z) if N == 1 (0b01) or
(vec_concat y x) if N == 2 (0b10)

Do we have a canonicalization somewhere that guarantees we cannot get
(vec_merge (vec_concat (y) (z)) (vec_duplicate x) (const_int N))
?

I was wondering if it would be possible to merge the transformations for concat and duplicate into a single one, but maybe it becomes too unreadable.

--
Marc Glisse

Reply via email to