summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-12-03 18:26:27 +0000
committerCraig Topper <craig.topper@intel.com>2018-12-03 18:26:27 +0000
commit5440b63fa8a1aa73e7422239919d64b21df93f6d (patch)
tree4d74c923d3771045451592e9a59696d9f7788252 /lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
parente35b01f8ea75b353fb6541e3d58e056f497b1cf2 (diff)
downloadbcm5719-llvm-5440b63fa8a1aa73e7422239919d64b21df93f6d.tar.gz
bcm5719-llvm-5440b63fa8a1aa73e7422239919d64b21df93f6d.zip
[X86] Teach LowerMUL/LowerMULH for vXi8 to unpack constant RHS.
Summary: We need to unpackl and unpackh the operands to use two vXi16 multiplies. Previously it looks like the low unpack would get constant folded at least in the 128-bit case after shuffle lowering turned the unpackl into ZERO_EXTEND_VECTOR_INREG and X86 custom DAG combined it. The same doesn't happen for the high half. So we'd load a constant and then shuffle it. But the low half would just be loaded and used by the multiply directly. After this patch we now end up with a constant pool entry for the low and high unpacks separately with no shuffle operations. This is a step towards removing custom constant folding for ZERO_EXTEND_VECTOR_INREG/SIGN_EXTEND_VECTOR_INREG in the X86 backend. Reviewers: RKSimon, spatel Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D55165 llvm-svn: 348159
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud