Minor change to implies_side_effects

This commit is contained in:
gingerBill
2026-08-12 14:16:10 +01:00
parent 2300a48782
commit b32846bb35
3 changed files with 7 additions and 1 deletions

View File

@@ -199,6 +199,9 @@ main :: proc() {
strings.write_string(&sb, "\t\t\t\t SideEffectFlag_CACHE |\n")
strings.write_string(&sb, "\t\t\t\t SideEffectFlag_SERIALIZING)) != 0;\n")
strings.write_string(&sb, "\t\t}\n")
strings.write_string(&sb, "\t\tbool implies_side_effects() {\n")
strings.write_string(&sb, "\t\t\treturn side_effects;\n")
strings.write_string(&sb, "\t\t}\n")
strings.write_string(&sb, "\t};\n")
}
strings.write_string(&sb, "\n");

View File

@@ -204,6 +204,9 @@ struct Asm_amd64 {
SideEffectFlag_CACHE |
SideEffectFlag_SERIALIZING)) != 0;
}
bool implies_side_effects() {
return side_effects;
}
};
static u16 const register_codes[REG_COUNT];

View File

@@ -870,7 +870,7 @@ gb_internal void check_mnemonic(AsmCtx *asm_ctx, CheckerContext *ctx, Entity *tm
tmpl_entity->AsmTemplate.clobber_cc |= clobber.implies_clobber_cc();
tmpl_entity->AsmTemplate.clobber_memory |= clobber.implies_clobber_memory();
tmpl_entity->AsmTemplate.has_side_effects |= clobber.side_effects != 0;
tmpl_entity->AsmTemplate.has_side_effects |= clobber.implies_side_effects();
return;
}