emit_glasm: Implement more integer alu ops
This commit is contained in:
parent
3e10709091
commit
6705f56029
2 changed files with 41 additions and 47 deletions
|
@ -302,15 +302,15 @@ void EmitIAdd64(EmitContext& ctx, Register a, Register b);
|
|||
void EmitISub32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
|
||||
void EmitISub64(EmitContext& ctx, Register a, Register b);
|
||||
void EmitIMul32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
|
||||
void EmitINeg32(EmitContext& ctx, ScalarS32 value);
|
||||
void EmitINeg32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
|
||||
void EmitINeg64(EmitContext& ctx, Register value);
|
||||
void EmitIAbs32(EmitContext& ctx, ScalarS32 value);
|
||||
void EmitIAbs32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
|
||||
void EmitIAbs64(EmitContext& ctx, Register value);
|
||||
void EmitShiftLeftLogical32(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, ScalarU32 shift);
|
||||
void EmitShiftLeftLogical64(EmitContext& ctx, Register base, Register shift);
|
||||
void EmitShiftRightLogical32(EmitContext& ctx, ScalarU32 base, ScalarU32 shift);
|
||||
void EmitShiftRightLogical32(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, ScalarU32 shift);
|
||||
void EmitShiftRightLogical64(EmitContext& ctx, Register base, Register shift);
|
||||
void EmitShiftRightArithmetic32(EmitContext& ctx, ScalarS32 base, ScalarS32 shift);
|
||||
void EmitShiftRightArithmetic32(EmitContext& ctx, IR::Inst& inst, ScalarS32 base, ScalarS32 shift);
|
||||
void EmitShiftRightArithmetic64(EmitContext& ctx, Register base, Register shift);
|
||||
void EmitBitwiseAnd32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
|
||||
void EmitBitwiseOr32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
|
||||
|
@ -322,14 +322,14 @@ void EmitBitFieldSExtract(EmitContext& ctx, IR::Inst& inst, ScalarS32 base, Scal
|
|||
void EmitBitFieldUExtract(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, ScalarU32 offset,
|
||||
ScalarU32 count);
|
||||
void EmitBitReverse32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
|
||||
void EmitBitCount32(EmitContext& ctx, ScalarS32 value);
|
||||
void EmitBitCount32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
|
||||
void EmitBitwiseNot32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
|
||||
void EmitFindSMsb32(EmitContext& ctx, ScalarS32 value);
|
||||
void EmitFindUMsb32(EmitContext& ctx, ScalarU32 value);
|
||||
void EmitSMin32(EmitContext& ctx, ScalarS32 a, ScalarS32 b);
|
||||
void EmitUMin32(EmitContext& ctx, ScalarU32 a, ScalarU32 b);
|
||||
void EmitSMax32(EmitContext& ctx, ScalarS32 a, ScalarS32 b);
|
||||
void EmitUMax32(EmitContext& ctx, ScalarU32 a, ScalarU32 b);
|
||||
void EmitFindSMsb32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
|
||||
void EmitFindUMsb32(EmitContext& ctx, IR::Inst& inst, ScalarU32 value);
|
||||
void EmitSMin32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
|
||||
void EmitUMin32(EmitContext& ctx, IR::Inst& inst, ScalarU32 a, ScalarU32 b);
|
||||
void EmitSMax32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
|
||||
void EmitUMax32(EmitContext& ctx, IR::Inst& inst, ScalarU32 a, ScalarU32 b);
|
||||
void EmitSClamp32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value, ScalarS32 min, ScalarS32 max);
|
||||
void EmitUClamp32(EmitContext& ctx, IR::Inst& inst, ScalarU32 value, ScalarU32 min, ScalarU32 max);
|
||||
void EmitSLessThan(EmitContext& ctx, IR::Inst& inst, ScalarS32 lhs, ScalarS32 rhs);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue