diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-10-18 22:12:47 +0100 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-10-18 22:12:56 +0100 |
commit | a83384498bee076aca07cc88b726e6bd51926e6f (patch) | |
tree | 63a90424ed4f1f1adbc5c8a3a569a2619b8f4f85 /lldb/source/Commands/CommandObjectCommands.cpp | |
parent | 7cf1fef45f13991e2d3b97e0612cfb88bf906a50 (diff) | |
download | llvm-a83384498bee076aca07cc88b726e6bd51926e6f.zip llvm-a83384498bee076aca07cc88b726e6bd51926e6f.tar.gz llvm-a83384498bee076aca07cc88b726e6bd51926e6f.tar.bz2 |
[X86] combineMulToPMADDWD - replace ASHR(X,16) -> LSHR(X,16)
If we're using an ashr to sign-extend the entire upper 16 bits of the i32 element, then we can replace with a lshr. The sign bit will be correctly shifted for PMADDWD's implicit sign-extension and the upper 16 bits are zero so the upper i16 sext-multiply is guaranteed to be zero.
The lshr also has a better chance of folding with shuffles etc.
Diffstat (limited to 'lldb/source/Commands/CommandObjectCommands.cpp')
0 files changed, 0 insertions, 0 deletions