diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-10-25 11:15:57 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-10-25 11:15:57 +0000 |
commit | 838eb24014f3493cd3a96e3ca759151cd4485601 (patch) | |
tree | 8f365e05abfcddfa6bf217a603e57bd0f1f7543e /lldb/packages/Python/lldbsuite/test/python_api/breakpoint/TestBreakpointAPI.py | |
parent | 6ca3609418db6f6cfabd1e89b50448cc26dbae5c (diff) | |
download | bcm5719-llvm-838eb24014f3493cd3a96e3ca759151cd4485601.tar.gz bcm5719-llvm-838eb24014f3493cd3a96e3ca759151cd4485601.zip |
[TargetLowering] Improve vXi64 UINT_TO_FP vXf64 support (P38226)
As suggested on D52965, this patch moves the i64 to f64 UINT_TO_FP expansion code from LegalizeDAG into TargetLowering and makes it available to LegalizeVectorOps as well.
Not only does this help perform X86 lowering as a true vectorization instead of (partially vectorized) scalar conversions, it avoids the HADDPD op from the scalar code which can be slow on most targets.
The AVX512F does have the vcvtusi2sdq scalar operation but we don't unroll to use it as it seems to only help for the v2f64 case - otherwise the unrolling cost will certainly be too high. My feeling is that we should leave it to the vectorizers - and if it generates the vector UINT_TO_FP we should use it.
Differential Revision: https://reviews.llvm.org/D53649
llvm-svn: 345256
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/breakpoint/TestBreakpointAPI.py')
0 files changed, 0 insertions, 0 deletions