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:24 +0000
committerCraig Topper <craig.topper@intel.com>2018-12-03 18:26:24 +0000
commite35b01f8ea75b353fb6541e3d58e056f497b1cf2 (patch)
tree802d8cdf7cf1bd57bfa754dc82fd6fd70f1575ea /lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
parentff90e627bae22b44b4547189a5cd08f6505c72ff (diff)
downloadbcm5719-llvm-e35b01f8ea75b353fb6541e3d58e056f497b1cf2.tar.gz
bcm5719-llvm-e35b01f8ea75b353fb6541e3d58e056f497b1cf2.zip
[X86] Add DAG combine to combine a v8i32->v8i16 truncate with a packuswb that truncates v8i16->v8i8.
Summary: Under -x86-experimental-vector-widening-legalization, fp_to_uint/fp_to_sint with a smaller than 128 bit vector type results are custom type legalized by promoting the result to a 128 bit vector by promoting the elements, inserting an assertzext/assertsext, then truncating back to original type. The truncate will be further legalizdd to a pack shuffle. In the case of a v8i8 result type, we'll end up with a v8i16 fp_to_sint. This will need to be further legalized during vector op legalization by promoting to v8i32 and then truncating again. Under avx2 this produces good code with two pack instructions, but Under avx512 this will result in a truncate instruction and a packuswb instruction. But we should be able to get away with a single truncate instruction. The other option is to promote all the way to vXi32 result type during the first type legalization. But in some experimentation that seemed to require more work to produce good code for other configurations. Reviewers: RKSimon, spatel Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D54836 llvm-svn: 348158
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud