@samitouri / QOSamiQemu / commits / c67f442c43

target/hexagon: Add implicit sysreg writes

Reviewed-by: Taylor Simpson <ltaylorsimpson@gmail.com> Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>

Brian Cain committed Jun 22, 2026 at 15:28 UTC c67f442c4383fab900f943b4334eedb227202421
1 file changed +16
target/hexagon/translate.c
+16
@@ -424,6 +424,16 @@ static void mark_implicit_usr_write(DisasContext *ctx, int attrib)
424 }
425 }
426
427 +#ifndef CONFIG_USER_ONLY
428 +static void mark_implicit_sreg_write(DisasContext *ctx, int attrib, int snum)
429 +{
430 + uint16_t opcode = ctx->insn->opcode;
431 + if (GET_ATTRIB(opcode, attrib)) {
432 + ctx_log_sreg_write(ctx, snum);
433 + }
434 +}
435 +#endif
436 +
437 static void mark_implicit_reg_writes(DisasContext *ctx)
438 {
439 mark_implicit_reg_write(ctx, A_IMPLICIT_WRITES_FP, HEX_REG_FP);
@@ -436,6 +446,12 @@ static void mark_implicit_reg_writes(DisasContext *ctx)
446
447 mark_implicit_usr_write(ctx, A_IMPLICIT_WRITES_USR);
448 mark_implicit_usr_write(ctx, A_FPOP);
449 +
450 +#ifndef CONFIG_USER_ONLY
451 + mark_implicit_sreg_write(ctx, A_IMPLICIT_WRITES_SGP0, HEX_SREG_SGP0);
452 + mark_implicit_sreg_write(ctx, A_IMPLICIT_WRITES_SGP1, HEX_SREG_SGP1);
453 + mark_implicit_sreg_write(ctx, A_IMPLICIT_WRITES_SSR, HEX_SREG_SSR);
454 +#endif
455 }
456
457 static void mark_implicit_pred_write(DisasContext *ctx, int attrib, int pnum)