diff --git a/ChocolArm64/AOpCodeTable.cs b/ChocolArm64/AOpCodeTable.cs
index 483594e2f..b323a112b 100644
--- a/ChocolArm64/AOpCodeTable.cs
+++ b/ChocolArm64/AOpCodeTable.cs
@@ -213,6 +213,8 @@ namespace ChocolArm64
             Set("000111100x1xxxxx011110xxxxxxxxxx", AInstEmit.Fminnm_S,      typeof(AOpCodeSimdReg));
             Set("0>0011100<1xxxxx110011xxxxxxxxxx", AInstEmit.Fmla_V,        typeof(AOpCodeSimdReg));
             Set("0x0011111<<xxxxx0001x0xxxxxxxxxx", AInstEmit.Fmla_Ve,       typeof(AOpCodeSimdRegElemF));
+            Set("0>0011101<1xxxxx110011xxxxxxxxxx", AInstEmit.Fmls_V,        typeof(AOpCodeSimdReg));
+            Set("0x0011111<<xxxxx0101x0xxxxxxxxxx", AInstEmit.Fmls_Ve,       typeof(AOpCodeSimdRegElemF));
             Set("000111100x100000010000xxxxxxxxxx", AInstEmit.Fmov_S,        typeof(AOpCodeSimd));
             Set("00011110xx1xxxxxxxx100xxxxxxxxxx", AInstEmit.Fmov_Si,       typeof(AOpCodeSimdFmov));
             Set("0xx0111100000xxx111101xxxxxxxxxx", AInstEmit.Fmov_V,        typeof(AOpCodeSimdImm));
diff --git a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
index 9fb33878e..772b7955c 100644
--- a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
+++ b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
@@ -224,6 +224,24 @@ namespace ChocolArm64.Instruction
             });
         }
 
+        public static void Fmls_V(AILEmitterCtx Context)
+        {
+            EmitVectorTernaryOpF(Context, () =>
+            {
+                Context.Emit(OpCodes.Mul);
+                Context.Emit(OpCodes.Sub);
+            });
+        }
+
+        public static void Fmls_Ve(AILEmitterCtx Context)
+        {
+            EmitVectorTernaryOpByElemF(Context, () =>
+            {
+                Context.Emit(OpCodes.Mul);
+                Context.Emit(OpCodes.Sub);
+            });
+        }
+
         public static void Fmsub_S(AILEmitterCtx Context)
         {
             EmitScalarTernaryRaOpF(Context, () =>
diff --git a/ChocolArm64/Instruction/AInstEmitSimdCmp.cs b/ChocolArm64/Instruction/AInstEmitSimdCmp.cs
index 43e8e9493..a71b6d42f 100644
--- a/ChocolArm64/Instruction/AInstEmitSimdCmp.cs
+++ b/ChocolArm64/Instruction/AInstEmitSimdCmp.cs
@@ -140,26 +140,6 @@ namespace ChocolArm64.Instruction
             EmitVectorFcmp(Context, OpCodes.Bgt_S);
         }
 
-        public static void Fcmhi_S(AILEmitterCtx Context)
-        {
-            EmitScalarFcmp(Context, OpCodes.Bgt_Un_S);
-        }
-
-        public static void Fcmhi_V(AILEmitterCtx Context)
-        {
-            EmitVectorFcmp(Context, OpCodes.Bgt_Un_S);
-        }
-
-        public static void Fcmhs_S(AILEmitterCtx Context)
-        {
-            EmitScalarFcmp(Context, OpCodes.Bge_Un_S);
-        }
-
-        public static void Fcmhs_V(AILEmitterCtx Context)
-        {
-            EmitVectorFcmp(Context, OpCodes.Bge_Un_S);
-        }
-
         public static void Fcmle_S(AILEmitterCtx Context)
         {
             EmitScalarFcmp(Context, OpCodes.Ble_S);