Add Frintz_S/V opcode and unit test, correction of some unit tests (#523)
* Add Frintz_S/V opcode and unit test, correction of some unit tests * --test * fix code style issue * delete tab
This commit is contained in:
parent
63ae8679a3
commit
31ef8d404a
2 changed files with 18 additions and 0 deletions
|
@ -1380,6 +1380,22 @@ namespace ChocolArm64.Instructions
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void Frintz_S(ILEmitterCtx context)
|
||||||
|
{
|
||||||
|
EmitScalarUnaryOpF(context, () =>
|
||||||
|
{
|
||||||
|
EmitUnaryMathCall(context, nameof(Math.Truncate));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Frintz_V(ILEmitterCtx context)
|
||||||
|
{
|
||||||
|
EmitVectorUnaryOpF(context, () =>
|
||||||
|
{
|
||||||
|
EmitUnaryMathCall(context, nameof(Math.Truncate));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public static void Frsqrte_S(ILEmitterCtx context)
|
public static void Frsqrte_S(ILEmitterCtx context)
|
||||||
{
|
{
|
||||||
EmitScalarUnaryOpF(context, () =>
|
EmitScalarUnaryOpF(context, () =>
|
||||||
|
|
|
@ -329,6 +329,8 @@ namespace ChocolArm64
|
||||||
SetA64("0>0011101<100001100010xxxxxxxxxx", InstEmit.Frintp_V, typeof(OpCodeSimd64));
|
SetA64("0>0011101<100001100010xxxxxxxxxx", InstEmit.Frintp_V, typeof(OpCodeSimd64));
|
||||||
SetA64("000111100x100111010000xxxxxxxxxx", InstEmit.Frintx_S, typeof(OpCodeSimd64));
|
SetA64("000111100x100111010000xxxxxxxxxx", InstEmit.Frintx_S, typeof(OpCodeSimd64));
|
||||||
SetA64("0>1011100<100001100110xxxxxxxxxx", InstEmit.Frintx_V, typeof(OpCodeSimd64));
|
SetA64("0>1011100<100001100110xxxxxxxxxx", InstEmit.Frintx_V, typeof(OpCodeSimd64));
|
||||||
|
SetA64("000111100x100101110000xxxxxxxxxx", InstEmit.Frintz_S, typeof(OpCodeSimd64));
|
||||||
|
SetA64("0>0011101<100001100110xxxxxxxxxx", InstEmit.Frintz_V, typeof(OpCodeSimd64));
|
||||||
SetA64("011111101x100001110110xxxxxxxxxx", InstEmit.Frsqrte_S, typeof(OpCodeSimd64));
|
SetA64("011111101x100001110110xxxxxxxxxx", InstEmit.Frsqrte_S, typeof(OpCodeSimd64));
|
||||||
SetA64("0>1011101<100001110110xxxxxxxxxx", InstEmit.Frsqrte_V, typeof(OpCodeSimd64));
|
SetA64("0>1011101<100001110110xxxxxxxxxx", InstEmit.Frsqrte_V, typeof(OpCodeSimd64));
|
||||||
SetA64("010111101x1xxxxx111111xxxxxxxxxx", InstEmit.Frsqrts_S, typeof(OpCodeSimdReg64));
|
SetA64("010111101x1xxxxx111111xxxxxxxxxx", InstEmit.Frsqrts_S, typeof(OpCodeSimdReg64));
|
||||||
|
|
Loading…
Reference in a new issue