emit_arm64_a32: Fix CheckBit
This commit is contained in:
parent
95ae21bd41
commit
a6e761daa9
1 changed files with 1 additions and 1 deletions
|
@ -98,7 +98,7 @@ void EmitA32Terminal(oaknut::CodeGenerator& code, EmitContext& ctx, IR::Term::If
|
||||||
|
|
||||||
void EmitA32Terminal(oaknut::CodeGenerator& code, EmitContext& ctx, IR::Term::CheckBit terminal, IR::LocationDescriptor initial_location, bool is_single_step) {
|
void EmitA32Terminal(oaknut::CodeGenerator& code, EmitContext& ctx, IR::Term::CheckBit terminal, IR::LocationDescriptor initial_location, bool is_single_step) {
|
||||||
oaknut::Label fail;
|
oaknut::Label fail;
|
||||||
code.LDRB(Wscratch0, Xstate, offsetof(StackLayout, check_bit));
|
code.LDRB(Wscratch0, SP, offsetof(StackLayout, check_bit));
|
||||||
code.CBZ(Wscratch0, fail);
|
code.CBZ(Wscratch0, fail);
|
||||||
EmitA32Terminal(code, ctx, terminal.then_, initial_location, is_single_step);
|
EmitA32Terminal(code, ctx, terminal.then_, initial_location, is_single_step);
|
||||||
code.l(fail);
|
code.l(fail);
|
||||||
|
|
Loading…
Reference in a new issue