[all-commits] [llvm/llvm-project] 81713e: [InstCombine] Fold series of instructions into mull
Allen via All-commits
all-commits at lists.llvm.org
Mon Oct 24 10:10:27 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 81713e893a33ac2807d95addaab0f3c8bb15d911
https://github.com/llvm/llvm-project/commit/81713e893a33ac2807d95addaab0f3c8bb15d911
Author: zhongyunde <zhongyunde at huawei.com>
Date: 2022-10-25 (Tue, 25 Oct 2022)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/mul_fold.ll
M llvm/test/Transforms/InstCombine/mul_full_64.ll
Log Message:
-----------
[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
More information about the All-commits
mailing list