diff options
author | Craig Topper <craig.topper@gmail.com> | 2020-01-05 17:01:57 -0800 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2020-01-05 17:44:08 -0800 |
commit | 95840866b7d86794490ed46278fa9a9d798ee5bf (patch) | |
tree | ced14eecbbdc4e79ccf46aa1f34b97f053a70715 /lldb/packages/Python/lldbsuite/test/python_api/thread/main.cpp | |
parent | ca3bf289a7f38b651280d8c6e784d4045a42b580 (diff) | |
download | bcm5719-llvm-95840866b7d86794490ed46278fa9a9d798ee5bf.tar.gz bcm5719-llvm-95840866b7d86794490ed46278fa9a9d798ee5bf.zip |
[X86] Improve v2i64->v2f32 and v4i64->v4f32 uint_to_fp on avx and avx2 targets.
Summary:
Based on Simon's D52965, but improved to handle strict fp and improve some of the shuffling.
Rather than use v2i1/v4i1 and let type legalization continue, just generate all the code with legal types and use an explicit shuffle.
I also added an explicit setcc to the v4i64 code to match the semantics of vselect which doesn't just use the sign bit. I'm also using a v4i64->v4i32 truncate instead of the shuffle in Simon's original code. With the setcc this will become a pack.
Future work can look into using X86ISD::BLENDV and a different shuffle that only moves the sign bit.
Reviewers: RKSimon, spatel
Reviewed By: RKSimon
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71956
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/thread/main.cpp')
0 files changed, 0 insertions, 0 deletions