OSDN Git Service

On AVX/AVX2 the type v8i1 is legalized to v8i16, which is an XMM sized
authorNadav Rotem <nrotem@apple.com>
Thu, 27 Dec 2012 08:15:45 +0000 (08:15 +0000)
committerNadav Rotem <nrotem@apple.com>
Thu, 27 Dec 2012 08:15:45 +0000 (08:15 +0000)
commitd6fb53adb19ccfbfb1eedec11c899aaa8401d036
tree5a44210f5aa0c0130845b720b747cabe76301e34
parent3c22a444001ac3f7a89c9888d60aec69352d0e58
On AVX/AVX2 the type v8i1 is legalized to v8i16, which is an XMM sized
register. In most cases we actually compare or select YMM-sized registers
and mixing the two types creates horrible code. This commit optimizes
some of the transition sequences.

PR14657.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171148 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/v8i1-masks.ll [new file with mode: 0644]