yuzu-emu
/
yuzu-android
Archived
1
0
Fork 0

glasm: Implement IAbs64 and INeg64 on GLASM

This commit is contained in:
ReinUsesLisp 2021-05-10 03:55:33 -03:00 committed by ameerj
parent 3b6a632237
commit 5b18a12df2
2 changed files with 6 additions and 6 deletions

View File

@ -306,9 +306,9 @@ void EmitISub32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
void EmitISub64(EmitContext& ctx, Register a, Register b); void EmitISub64(EmitContext& ctx, Register a, Register b);
void EmitIMul32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b); void EmitIMul32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
void EmitINeg32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value); void EmitINeg32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
void EmitINeg64(EmitContext& ctx, Register value); void EmitINeg64(EmitContext& ctx, IR::Inst& inst, Register value);
void EmitIAbs32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value); void EmitIAbs32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
void EmitIAbs64(EmitContext& ctx, Register value); void EmitIAbs64(EmitContext& ctx, IR::Inst& inst, Register value);
void EmitShiftLeftLogical32(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, ScalarU32 shift); void EmitShiftLeftLogical32(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, ScalarU32 shift);
void EmitShiftLeftLogical64(EmitContext& ctx, Register base, Register shift); void EmitShiftLeftLogical64(EmitContext& ctx, Register base, Register shift);
void EmitShiftRightLogical32(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, ScalarU32 shift); void EmitShiftRightLogical32(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, ScalarU32 shift);

View File

@ -34,16 +34,16 @@ void EmitINeg32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) {
ctx.Add("MOV.S {},-{};", inst, value); ctx.Add("MOV.S {},-{};", inst, value);
} }
void EmitINeg64([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] Register value) { void EmitINeg64(EmitContext& ctx, IR::Inst& inst, Register value) {
throw NotImplementedException("GLASM instruction"); ctx.LongAdd("MOV.S64 {},-{};", inst, value);
} }
void EmitIAbs32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) { void EmitIAbs32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) {
ctx.Add("ABS.S {},{};", inst, value); ctx.Add("ABS.S {},{};", inst, value);
} }
void EmitIAbs64([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] Register value) { void EmitIAbs64(EmitContext& ctx, IR::Inst& inst, Register value) {
throw NotImplementedException("GLASM instruction"); ctx.LongAdd("MOV.S64 {},|{}|;", inst, value);
} }
void EmitShiftLeftLogical32(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, ScalarU32 shift) { void EmitShiftLeftLogical32(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, ScalarU32 shift) {