Files
llvm-6502/test/CodeGen
Andrea Di Biagio 3d3dc67ccb [release_36] Cherry-pick r231601.
Original commit message:
[X86][AVX] Fix wrong lowering of VPERM2X128 nodes

There were cases where the backend computed a wrong permute mask for a VPERM2X128 node.

Example:
\code
define <8 x float> @foo(<8 x float> %a, <8 x float> %b) {
  %shuffle = shufflevector <8 x float> %a, <8 x float> %b, <8 x i32> <i32 undef, i32 undef, i32 6, i32 7, i32 undef, i32 undef, i32 6, i32 7>
  ret <8 x float> %shuffle
}
\code end

Before this patch, llc (with -mattr=+avx) emitted the following vperm2f128:
  vperm2f128 $0, %ymm0, %ymm0, %ymm0  # ymm0 = ymm0[0,1,0,1]

With this patch, llc emits a vperm2f128 with a correct permute mask:
  vperm2f128 $17, %ymm0, %ymm0, %ymm0  # ymm0 = ymm0[2,3,2,3]

Differential Revision: http://reviews.llvm.org/D8119



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@232803 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-20 10:36:35 +00:00
..
2015-02-09 02:38:04 +00:00
2015-02-09 02:38:04 +00:00
…
2015-01-15 04:04:08 +00:00
2015-01-15 04:04:08 +00:00
2015-03-10 22:03:11 +00:00
2015-02-12 23:51:24 +00:00
2015-02-05 18:05:18 +00:00
2015-01-17 00:43:31 +00:00
2015-01-15 04:04:08 +00:00
2015-03-20 10:36:35 +00:00
2015-01-15 04:04:08 +00:00