diff options
author | zhongyunde <zhongyunde@huawei.com> | 2022-10-25 01:04:59 +0800 |
---|---|---|
committer | zhongyunde <zhongyunde@huawei.com> | 2022-10-25 01:09:37 +0800 |
commit | 81713e893a33ac2807d95addaab0f3c8bb15d911 (patch) | |
tree | 43e7c2f818b802cbc556f960bfbd96a7c04e4ee9 /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | 1fa8fd4c33cbb6bcf473c36f179640e2a8b4dd32 (diff) | |
download | llvm-81713e893a33ac2807d95addaab0f3c8bb15d911.zip llvm-81713e893a33ac2807d95addaab0f3c8bb15d911.tar.gz llvm-81713e893a33ac2807d95addaab0f3c8bb15d911.tar.bz2 |
[InstCombine] Fold series of instructions into mull
The following sequence should be folded into in0 * in1
In0Lo = in0 & 0xffffffff; In0Hi = in0 >> 32;
In1Lo = in1 & 0xffffffff; In1Hi = in1 >> 32;
m01 = In1Hi * In0Lo; m10 = In1Lo * In0Hi; m00 = In1Lo * In0Lo;
addc = m01 + m10;
ResLo = m00 + (addc >> 32);
Reviewed By: spatel, RKSimon
Differential Revision: https://reviews.llvm.org/D136015
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
0 files changed, 0 insertions, 0 deletions