Update AInstEmitSimdArithmetic.cs
This commit is contained in:
parent
d1f6e97fb0
commit
3381f38265
1 changed files with 25 additions and 4 deletions
|
@ -131,12 +131,8 @@ namespace ChocolArm64.Instruction
|
|||
{
|
||||
EmitVectorExtractZx(Context, Op.Rn, Index, 0);
|
||||
|
||||
Context.Emit(OpCodes.Conv_U4);
|
||||
|
||||
ASoftFallback.EmitCall(Context, nameof(ASoftFallback.CountSetBits8));
|
||||
|
||||
Context.Emit(OpCodes.Conv_U8);
|
||||
|
||||
EmitVectorInsert(Context, Op.Rd, Index, 0);
|
||||
}
|
||||
|
||||
|
@ -440,6 +436,15 @@ namespace ChocolArm64.Instruction
|
|||
});
|
||||
}
|
||||
|
||||
public static void Fmls_Se(AILEmitterCtx Context)
|
||||
{
|
||||
EmitScalarTernaryOpByElemF(Context, () =>
|
||||
{
|
||||
Context.Emit(OpCodes.Mul);
|
||||
Context.Emit(OpCodes.Sub);
|
||||
});
|
||||
}
|
||||
|
||||
public static void Fmls_V(AILEmitterCtx Context)
|
||||
{
|
||||
EmitVectorTernaryOpF(Context, () =>
|
||||
|
@ -554,6 +559,14 @@ namespace ChocolArm64.Instruction
|
|||
});
|
||||
}
|
||||
|
||||
public static void Fmulx_Se(AILEmitterCtx Context)
|
||||
{
|
||||
EmitScalarBinaryOpByElemF(Context, () =>
|
||||
{
|
||||
EmitSoftFloatCall(Context, nameof(ASoftFloat_32.FPMulX));
|
||||
});
|
||||
}
|
||||
|
||||
public static void Fmulx_V(AILEmitterCtx Context)
|
||||
{
|
||||
EmitVectorBinaryOpF(Context, () =>
|
||||
|
@ -562,6 +575,14 @@ namespace ChocolArm64.Instruction
|
|||
});
|
||||
}
|
||||
|
||||
public static void Fmulx_Ve(AILEmitterCtx Context)
|
||||
{
|
||||
EmitVectorBinaryOpByElemF(Context, () =>
|
||||
{
|
||||
EmitSoftFloatCall(Context, nameof(ASoftFloat_32.FPMulX));
|
||||
});
|
||||
}
|
||||
|
||||
public static void Fneg_S(AILEmitterCtx Context)
|
||||
{
|
||||
EmitScalarUnaryOpF(Context, () => Context.Emit(OpCodes.Neg));
|
||||
|
|
Loading…
Add table
Reference in a new issue