Skip to content

Commit

Permalink
Update SVE instructions that writes to GC regs (#112389)
Browse files Browse the repository at this point in the history
  • Loading branch information
kunalspathak authored Feb 12, 2025
1 parent 08b488a commit 8c92ae7
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/coreclr/jit/emitarm64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1087,6 +1087,22 @@ bool emitter::emitInsMayWriteToGCReg(instrDesc* id)
case IF_SR_1A: // SR_1A ................ ...........ttttt Rt (dc zva, mrs)
return ins == INS_mrs_tpid0;

// Below SVE instructions write to GPR and hence GC reg
case IF_SVE_CO_3A: // clasta, clastb
case IF_SVE_BM_1A: // decb, decd, dech, decw, incb, incd, inch, incw
case IF_SVE_BO_1A: // sqdecb, sqdecd, sqdech, sqdecw, sqincb, sqincd, sqinch, sqincw, uqdecb, uqdecd, uqdech,
// uqdecw, uqincb, uqincd, uqinch, uqincw
case IF_SVE_CS_3A: // lasta, lastb
case IF_SVE_DK_3A: // cntp
case IF_SVE_DL_2A: // cntp
case IF_SVE_DM_2A: // decp, incp
case IF_SVE_DO_2A: // sqdecp, sqincp, uqdecp, uqincp
case IF_SVE_BB_2A: // addpl, addvl
case IF_SVE_BC_1A: // rdvl
case IF_SVE_BL_1A: // cntb, cntd, cnth, cntw
case IF_SVE_DS_2A: // ctermeq, ctermne
return true;

default:
return false;
}
Expand Down

0 comments on commit 8c92ae7

Please sign in to comment.