From 900f8863896b98cd588a218ff9534d493e9d26bf Mon Sep 17 00:00:00 2001 From: xuliangyu Date: Thu, 13 Aug 2026 09:32:49 +0800 Subject: [PATCH] [LoongArch64] Fix some new failures in Release libs.tests after PR#128604. * Fix the conflict of dstReg and tempReg for unchecked float/double -> small integral type conversions after PR#128604. * Fix the disassembly print of function name under release mode. --- src/coreclr/jit/codegenloongarch64.cpp | 4 ++-- src/coreclr/jit/emitloongarch64.cpp | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/coreclr/jit/codegenloongarch64.cpp b/src/coreclr/jit/codegenloongarch64.cpp index 087e201f5d8225..37d749e82df819 100644 --- a/src/coreclr/jit/codegenloongarch64.cpp +++ b/src/coreclr/jit/codegenloongarch64.cpp @@ -4493,12 +4493,12 @@ void CodeGen::genIntrinsic(GenTreeIntrinsic* treeNode) genConsumeOperands(treeNode->AsOp()); regNumber dst = treeNode->GetRegNum(); regNumber src = op1->GetRegNum(); - regNumber tmpReg = internalRegisters.GetSingle(treeNode); + regNumber tmpReg = REG_R21; emitter* emit = GetEmitter(); // Copy src to dst, normalizing to a sign-extended 32-bit value so the // subsequent full-register bge compares against the (signed) clamp bounds - // are well-defined. `slli.w rd, rs, 0` sign-extends bits[31:0] into rd[63:0]. + // are well-defined. `slli.w rd, rj, 0` sign-extends bits[31:0] into rd[63:0]. emit->emitIns_R_R_I(INS_slli_w, EA_4BYTE, dst, src, 0); // Clamp lower bound: if dst < minVal, dst = minVal. diff --git a/src/coreclr/jit/emitloongarch64.cpp b/src/coreclr/jit/emitloongarch64.cpp index fc4dab1a89bdf1..45f553bbe548ab 100644 --- a/src/coreclr/jit/emitloongarch64.cpp +++ b/src/coreclr/jit/emitloongarch64.cpp @@ -2591,10 +2591,14 @@ void emitter::emitIns_Call(const EmitCallParams& params) } } - id->idDebugOnlyInfo()->idMemCookie = (size_t)params.methHnd; // method token - id->idDebugOnlyInfo()->idCallSig = params.sigInfo; #endif // DEBUG + if (m_debugInfoSize > 0) + { + INDEBUG(id->idDebugOnlyInfo()->idCallSig = params.sigInfo); + id->idDebugOnlyInfo()->idMemCookie = (size_t)params.methHnd; // method token + } + #ifdef LATE_DISASM if (params.addr != nullptr) {