[PATCH] D113986: [AMDGPU] Implement widening multiplies with v_mad_i64_i32/v_mad_u64_u32

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 16 06:08:53 PST 2021


arsenm added a comment.

GlobalISel version?



================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp:1014
+
+  SDValue Zero = CurDAG->getTargetConstant(0, SL, MVT::i64);
+  SDValue Clamp = CurDAG->getTargetConstant(0, SL, MVT::i1);
----------------
Could this try to do better than 0 if the source is an add?


================
Comment at: llvm/lib/Target/AMDGPU/SIISelLowering.cpp:812-813
 
+  setOperationAction(ISD::SMUL_LOHI, MVT::i32, Custom);
+  setOperationAction(ISD::UMUL_LOHI, MVT::i32, Custom);
+
----------------
Seems missing a subtarget check, I'm pretty sure gfx6 didn't have mad_u64_u32


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113986/new/

https://reviews.llvm.org/D113986



More information about the llvm-commits mailing list