[llvm] [WebAssembly,llvm] Add llvm.wasm.ref.test.func intrinsic, option 2 (PR #147486)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 8 02:19:12 PDT 2025


================
@@ -402,7 +402,12 @@ void InstrEmitter::AddOperand(MachineInstrBuilder &MIB, SDValue Op,
     AddRegisterOperand(MIB, Op, IIOpNum, II, VRBaseMap,
                        IsDebug, IsClone, IsCloned);
   } else if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op)) {
-    MIB.addImm(C->getSExtValue());
+    if (C->getOpcode() == ISD::TargetConstantAP) {
+      MIB.addCImm(
+          ConstantInt::get(MF->getFunction().getContext(), C->getAPIntValue()));
+    } else {
+      MIB.addImm(C->getSExtValue());
+    }
----------------
arsenm wrote:

TargetConstant encodes an APInt, it's already arbitrary precision. This is an emission time problem that doesn't require any DAG node changes 

https://github.com/llvm/llvm-project/pull/147486


More information about the llvm-commits mailing list