diff options
author | Michael Liao <michael.liao@intel.com> | 2013-11-02 00:10:02 +0000 |
---|---|---|
committer | Michael Liao <michael.liao@intel.com> | 2013-11-02 00:10:02 +0000 |
commit | 9d293f1f68d890ae391e222fe9384b83183286cb (patch) | |
tree | 681268d0e8555219f35aba01ba1d0bb377d95e26 /lib/Target/X86/X86InstrSSE.td | |
parent | daaa8b720b026c83bf6d4307042057665348b222 (diff) | |
download | external_llvm-9d293f1f68d890ae391e222fe9384b83183286cb.zip external_llvm-9d293f1f68d890ae391e222fe9384b83183286cb.tar.gz external_llvm-9d293f1f68d890ae391e222fe9384b83183286cb.tar.bz2 |
Fix PR17764
- When selecting BLEND from vselect, the operands need swapping as due to the
difference between vselect and SSE/AVX's BLEND insn
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193900 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrSSE.td')
-rw-r--r-- | lib/Target/X86/X86InstrSSE.td | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index 7cae485..bac88f9 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -6965,7 +6965,7 @@ let Predicates = [HasAVX] in { let Predicates = [HasAVX2] in { def : Pat<(v32i8 (vselect (v32i8 VR256:$mask), (v32i8 VR256:$src1), (v32i8 VR256:$src2))), - (VPBLENDVBYrr VR256:$src1, VR256:$src2, VR256:$mask)>; + (VPBLENDVBYrr VR256:$src2, VR256:$src1, VR256:$mask)>; def : Pat<(v16i16 (X86Blendi (v16i16 VR256:$src1), (v16i16 VR256:$src2), (imm:$mask))), (VPBLENDWYrri VR256:$src1, VR256:$src2, imm:$mask)>; |