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 /test | |
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 'test')
-rw-r--r-- | test/CodeGen/X86/pr17764.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/CodeGen/X86/pr17764.ll b/test/CodeGen/X86/pr17764.ll new file mode 100644 index 0000000..7a3fd6d --- /dev/null +++ b/test/CodeGen/X86/pr17764.ll @@ -0,0 +1,10 @@ +; RUN: llc < %s -mtriple=x86_64-linux -mcpu=core-avx2 | FileCheck %s + +define <16 x i16> @foo(<16 x i1> %mask, <16 x i16> %x, <16 x i16> %y) { + %ret = select <16 x i1> %mask, <16 x i16> %x, <16 x i16> %y + ret <16 x i16> %ret +} + +; CHECK: foo +; CHECK: vpblendvb %ymm0, %ymm1, %ymm2, %ymm0 +; CHECK: ret |