author | Benjamin Kramer <benny.kra@googlemail.com> | |
Mon, 19 May 2014 13:12:38 +0000 (13:12 +0000) | ||
committer | Benjamin Kramer <benny.kra@googlemail.com> | |
Mon, 19 May 2014 13:12:38 +0000 (13:12 +0000) | ||
commit | bb81d9d5fae81ce2a032d632c7268818ff97a864 | |
tree | d1cac95ebe746dc3639a76a756f1b48d1afec473 | tree | snapshot (tar.xz tar.gz zip) |
parent | 306cd28e214a7913e5f0fec865e0857609e164b3 | commit | diff |
SDAG: Legalize vector BSWAP into a shuffle if the shuffle is legal but the bswap not.
- On ARM/ARM64 we get a vrev because the shuffle matching code is really smart. We still unroll anything that's not v4i32 though.
- On X86 we get a pshufb with SSSE3. Required more cleverness in isShuffleMaskLegal.
- On PPC we get a vperm for v8i16 and v4i32. v2i64 is unrolled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209123 91177308-0d34-0410-b5e6-96231b3b80d8
- On ARM/ARM64 we get a vrev because the shuffle matching code is really smart. We still unroll anything that's not v4i32 though.
- On X86 we get a pshufb with SSSE3. Required more cleverness in isShuffleMaskLegal.
- On PPC we get a vperm for v8i16 and v4i32. v2i64 is unrolled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209123 91177308-0d34-0410-b5e6-96231b3b80d8