Browse Source

Increase non-temporal i386 & x64 Fill* thresholds to 4 Mb.

Rika Ichinose 1 year ago
parent
commit
0d5f7fa66b
2 changed files with 2 additions and 2 deletions
  1. 1 1
      rtl/i386/i386.inc
  2. 1 1
      rtl/x86_64/x86_64.inc

+ 1 - 1
rtl/i386/i386.inc

@@ -207,7 +207,7 @@ label
 procedure FillXxxx_U32Pattern_SSE2_16OrMore; assembler; nostackframe;
 { eax — x, ecx — uint32 pattern, edx — byte count >= 16 (preferably > 16). }
 const
-  NtThreshold = 512 * 1024;
+  NtThreshold = 4 * 1024 * 1024;
 asm
         movd   %ecx, %xmm0
         pshufd $0, %xmm0, %xmm0 { xmm0 = pattern for unaligned writes }

+ 1 - 1
rtl/x86_64/x86_64.inc

@@ -310,7 +310,7 @@ const
 {$ifdef use_fast_repmovstos}
   ErmsThreshold = 1536;
 {$endif}
-  NtThreshold = 512 * 1024;
+  NtThreshold = 4 * 1024 * 1024;
 asm
     { x can start and end misaligned on the vector boundary: