aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectMemory.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-09-28 23:23:55 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-09-28 23:23:55 +0000
commitabe742e8fb7238b902aa8a97f382f5d601c5064d (patch)
tree41411894b3d048d3d2fe2cb30cb3c86fd99d1ab7 /lldb/source/Commands/CommandObjectMemory.cpp
parentf8a678d2fdc280b46c7be0422f84abafc345b842 (diff)
downloadllvm-abe742e8fb7238b902aa8a97f382f5d601c5064d.zip
llvm-abe742e8fb7238b902aa8a97f382f5d601c5064d.tar.gz
llvm-abe742e8fb7238b902aa8a97f382f5d601c5064d.tar.bz2
[x86] Fix the new vector shuffle lowering's use of VSELECT for AVX2
lowerings. This was hopelessly broken. First, the x86 backend wants '-1' to be the element value representing true in a boolean vector, and second the operand order for VSELECT is backwards from the actual x86 instructions. To make matters worse, the backend is just using '-1' as the true value to get the high bit to be set. It doesn't actually symbolically map the '-1' to anything. But on x86 this isn't quite how it works: there *only* the high bit is relevant. As a consequence weird non-'-1' values like 0x80 actually "work" once you flip the operands to be backwards. Anyways, thanks to Hal for helping me sort out what these *should* be. llvm-svn: 218582
Diffstat (limited to 'lldb/source/Commands/CommandObjectMemory.cpp')
0 files changed, 0 insertions, 0 deletions