aboutsummaryrefslogtreecommitdiff
path: root/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
diff options
context:
space:
mode:
authorMerry <MerryMage@users.noreply.github.com>2018-04-06 00:36:19 +0100
committergdkchan <gab.dark.100@gmail.com>2018-04-05 20:36:19 -0300
commit39f20d8d1ad9e52741bb6bb28b1ba24c6e759aec (patch)
tree9302306b7c020a7fa677ad551423084ff85da0c9 /ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
parent4c19c908e5d0c7e5d305fa816c53c9787432b83c (diff)
Implement Frsqrte_S (#72)
* Implement Frsqrte_S * Implement Frsqrte_V * Add Frsqrte_S test
Diffstat (limited to 'ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs')
-rw-r--r--ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs16
1 files changed, 16 insertions, 0 deletions
diff --git a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
index 0b94554d..4ed5f063 100644
--- a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
+++ b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
@@ -476,6 +476,22 @@ namespace ChocolArm64.Instruction
});
}
+ public static void Frsqrte_S(AILEmitterCtx Context)
+ {
+ EmitScalarUnaryOpF(Context, () =>
+ {
+ EmitUnarySoftFloatCall(Context, nameof(ASoftFloat.InvSqrtEstimate));
+ });
+ }
+
+ public static void Frsqrte_V(AILEmitterCtx Context)
+ {
+ EmitVectorUnaryOpF(Context, () =>
+ {
+ EmitUnarySoftFloatCall(Context, nameof(ASoftFloat.InvSqrtEstimate));
+ });
+ }
+
public static void Fsqrt_S(AILEmitterCtx Context)
{
EmitScalarUnaryOpF(Context, () =>