diff options
author | Craig Topper <craig.topper@sifive.com> | 2021-02-24 09:36:28 -0800 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2021-02-24 10:05:38 -0800 |
commit | fe50be12c8b845fffd44c508ad981901d25ac5f8 (patch) | |
tree | 92b4c6a47ae72894ef46c1e6ec9705456062d4c0 /llvm/lib/Support/Signposts.cpp | |
parent | 5f8a80882b72695978035a25002d365d0dd84803 (diff) | |
download | llvm-fe50be12c8b845fffd44c508ad981901d25ac5f8.zip llvm-fe50be12c8b845fffd44c508ad981901d25ac5f8.tar.gz llvm-fe50be12c8b845fffd44c508ad981901d25ac5f8.tar.bz2 |
[LegalizeIntegerTypes] Further improve ExpandIntRes_SADDSUBO for targets where SADDO/SSUBO aren't supported.
Rather than converting 3 signbits to bools and comparing them,
we can do bitwise logic on the whole vector and convert the
resulting sign bit to a bool at the end.
This is still a different algorithm than what we do in LegalizeDAG
through expandSADDOSSUBO. That algorithm needs to know that the
RHS of SSUBO is > 0, but that's costly when the type is split.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D97325
Diffstat (limited to 'llvm/lib/Support/Signposts.cpp')
0 files changed, 0 insertions, 0 deletions