diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-06-18 00:41:28 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-06-18 00:41:28 -0300 |
| commit | b747b23607179c710f7ac199fed9f10f8db7b3c1 (patch) | |
| tree | 30a5f28eb1101dddf72f6c415e52d971f4820570 /ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs | |
| parent | 4e430760b4f5b50284459ccdc6439af65ed5862c (diff) | |
Add the FADDP (scalar) instruction
Diffstat (limited to 'ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs')
| -rw-r--r-- | ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs index 5aea6b04..49a5c506 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs @@ -341,6 +341,20 @@ namespace ChocolArm64.Instruction } } + public static void Faddp_S(AILEmitterCtx Context) + { + AOpCodeSimd Op = (AOpCodeSimd)Context.CurrOp; + + int SizeF = Op.Size & 1; + + EmitVectorExtractF(Context, Op.Rn, 0, SizeF); + EmitVectorExtractF(Context, Op.Rn, 1, SizeF); + + Context.Emit(OpCodes.Add); + + EmitScalarSetF(Context, Op.Rd, SizeF); + } + public static void Faddp_V(AILEmitterCtx Context) { AOpCodeSimdReg Op = (AOpCodeSimdReg)Context.CurrOp; |
