diff options
author | riperiperi <rhy3756547@hotmail.com> | 2021-09-29 00:21:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-29 01:21:30 +0200 |
commit | 1ae690ba2f407042456207d40e425f8b1f900863 (patch) | |
tree | fd4d8e9bf26b9707aa42228ed56b218fa056d59e /ARMeilleure/Instructions | |
parent | 33dc4c9ce40165795da884eaa684f16e8b643799 (diff) |
Use normal memory store path for DC ZVA (#2693)
Seems like this is used as an optimized way to clear memory in homebrew applications. Unfortunately, calling the software fallback method every 8 bytes was not very optimal.
The existing EmitStore is used by passing in ZR as the register to get a 0 write.
Diffstat (limited to 'ARMeilleure/Instructions')
-rw-r--r-- | ARMeilleure/Instructions/InstEmitSystem.cs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ARMeilleure/Instructions/InstEmitSystem.cs b/ARMeilleure/Instructions/InstEmitSystem.cs index a5278a27..60c71f96 100644 --- a/ARMeilleure/Instructions/InstEmitSystem.cs +++ b/ARMeilleure/Instructions/InstEmitSystem.cs @@ -91,7 +91,7 @@ namespace ARMeilleure.Instructions { Operand address = context.Add(t, Const(offset)); - context.Call(typeof(NativeInterface).GetMethod(nameof(NativeInterface.WriteUInt64)), address, Const(0L)); + InstEmitMemoryHelper.EmitStore(context, address, RegisterConsts.ZeroIndex, 3); } break; |