diff options
author | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2014-11-06 14:36:45 +0000 |
---|---|---|
committer | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2014-11-06 14:36:45 +0000 |
commit | 7ecd22ca4a205788ce8228d60bf5e67bb06fdfb6 (patch) | |
tree | 22a32e11fe9e73d6e56bcd585febad1a7c547c3e /clang/lib/Basic/Targets.cpp | |
parent | e77ffe35bf8565d859df807d2a0507def5096c8a (diff) | |
download | bcm5719-llvm-7ecd22ca4a205788ce8228d60bf5e67bb06fdfb6.tar.gz bcm5719-llvm-7ecd22ca4a205788ce8228d60bf5e67bb06fdfb6.zip |
[X86] When commuting SSE immediate blend, make sure that the new blend mask is a valid imm8.
Example:
define <4 x i32> @test(<4 x i32> %a, <4 x i32> %b) {
%shuffle = shufflevector <4 x i32> %a, <4 x i32> %b, <4 x i32> <i32 4, i32 5, i32 6, i32 3>
ret <4 x i32> %shuffle
}
Before llc (-mattr=+sse4.1), produced the following assembly instruction:
pblendw $4294967103, %xmm1, %xmm0
After
pblendw $63, %xmm1, %xmm0
llvm-svn: 221455
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
0 files changed, 0 insertions, 0 deletions