[PATCH] D12334: [ARM] Do not use vtrn for vectorshuffle if the order is reversed

Ahmed Bougacha via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 2 06:17:07 PDT 2015


ab added a comment.

I think the new tests generated vtrn because v8i32 had to be split. After that, there are no double-width shuffles anymore, so we'll just match (and later CSE) two identical shuffles. Can you try with v8i16 = v4i16,v4i16?

Also, from what I found, the <-1, 4, ...> also isn't tested, so it'd be great if you added it too.
I expected it to fail, because M[i] == 0 is false (when i == 0), so we will try and fail to match the upper result (WhichResult == 1) in the lower lanes (i == 0).

The investigation is much appreciated, thanks again!


http://reviews.llvm.org/D12334





More information about the llvm-commits mailing list