[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