aboutsummaryrefslogtreecommitdiff
path: root/ARMeilleure/Instructions
diff options
context:
space:
mode:
authorLDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com>2022-10-19 04:08:34 +0200
committerGitHub <noreply@github.com>2022-10-19 02:08:34 +0000
commit62585755fdd79a95a1e276a7ba742c2d7a9bed54 (patch)
treefdc3f2b00e818ec39198bc279f0db1ff14457eb4 /ARMeilleure/Instructions
parent56621615b1ca52822141862d660a661054fd6694 (diff)
Do not clear the rejit queue when overlaps count is equal to 0. (#3721)1.1.319
* Do not clear the rejit queue when overlaps count is equal to 0. * Ptc and PtcProfiler must be invalidated. * Revert "Ptc and PtcProfiler must be invalidated." This reverts commit f5b0ad9d7dc3c0b3a0da184de4d04d7234939c81. * Fix #3710 slow path due to #3701.
Diffstat (limited to 'ARMeilleure/Instructions')
-rw-r--r--ARMeilleure/Instructions/InstEmitSimdCvt32.cs10
1 files changed, 8 insertions, 2 deletions
diff --git a/ARMeilleure/Instructions/InstEmitSimdCvt32.cs b/ARMeilleure/Instructions/InstEmitSimdCvt32.cs
index ba713feb..f3f23958 100644
--- a/ARMeilleure/Instructions/InstEmitSimdCvt32.cs
+++ b/ARMeilleure/Instructions/InstEmitSimdCvt32.cs
@@ -296,27 +296,33 @@ namespace ARMeilleure.Instructions
{
if (op.Op)
{
- // Convert to half
+ // Convert to half.
Operand src = ExtractScalar(context, op.Size == 1 ? OperandType.FP64 : OperandType.FP32, op.Vm);
MethodInfo method = op.Size == 1
? typeof(SoftFloat64_16).GetMethod(nameof(SoftFloat64_16.FPConvert))
: typeof(SoftFloat32_16).GetMethod(nameof(SoftFloat32_16.FPConvert));
+
+ context.StoreToContext();
Operand res = context.Call(method, src);
+ context.LoadFromContext();
InsertScalar16(context, op.Vd, op.T, res);
}
else
{
- // Convert from half
+ // Convert from half.
Operand src = ExtractScalar16(context, op.Vm, op.T);
MethodInfo method = op.Size == 1
? typeof(SoftFloat16_64).GetMethod(nameof(SoftFloat16_64.FPConvert))
: typeof(SoftFloat16_32).GetMethod(nameof(SoftFloat16_32.FPConvert));
+
+ context.StoreToContext();
Operand res = context.Call(method, src);
+ context.LoadFromContext();
InsertScalar(context, op.Vd, res);
}