33using System . Runtime . CompilerServices ;
44using VCDiff . Shared ;
55
6- #if NETCOREAPP3_1 || NET5_0
6+ #if NETCOREAPP3_1 || NET5_0 || NET5_0_OR_GREATER
77using System . Runtime . Intrinsics ;
88using System . Runtime . Intrinsics . X86 ;
99#endif
@@ -172,10 +172,10 @@ private long GetTableIndex(ulong hash)
172172 /// <param name="targetPtr">pointer to the target buffer</param>
173173 /// <param name="target">the target buffer</param>
174174 /// <param name="m">the match object to use</param>
175- #if NETCOREAPP3_1 || NET5_0
175+ #if NETCOREAPP3_1 || NET5_0 || NET5_0_OR_GREATER
176176 [ MethodImpl ( MethodImplOptions . AggressiveInlining | MethodImplOptions . AggressiveOptimization ) ]
177177#endif
178- #if NET5_0
178+ #if NET5_0 || NET5_0_OR_GREATER
179179 [ SkipLocalsInit ]
180180#endif
181181 public unsafe void FindBestMatch ( ulong hash , long candidateStart , long targetStart , long targetSize , byte * targetPtr , ByteBuffer target , ref Match m )
@@ -250,7 +250,7 @@ public void AddAllBlocks()
250250 AddAllBlocksThroughIndex ( source . Length ) ;
251251 }
252252
253- #if NET5_0
253+ #if NET5_0 || NET5_0_OR_GREATER
254254 [ SkipLocalsInit ]
255255#endif
256256 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
@@ -266,7 +266,7 @@ private unsafe bool BlockContentsMatch(long block1, long tOffset, byte *sourcePt
266266 if ( sOffset > sLen || tOffset > tLen )
267267 return false ;
268268
269- #if NETCOREAPP3_1 || NET5_0
269+ #if NETCOREAPP3_1 || NET5_0 || NET5_0_OR_GREATER
270270 if ( Avx2 . IsSupported && lengthToExamine >= Intrinsics . AvxRegisterSize )
271271 {
272272 if ( sOffset >= Intrinsics . AvxRegisterSize && tOffset >= Intrinsics . AvxRegisterSize )
@@ -357,7 +357,7 @@ private unsafe long NextMatchingBlock(long blockNumber, long toffset, byte* sour
357357 return SkipNonMatchingBlocks ( nextBlockTable . Pointer [ blockNumber ] , toffset , sourcePtr , targetPtr , target ) ;
358358 }
359359
360- #if NET5_0
360+ #if NET5_0 || NET5_0_OR_GREATER
361361 [ MethodImpl ( MethodImplOptions . AggressiveInlining | MethodImplOptions . AggressiveOptimization ) ]
362362 [ SkipLocalsInit ]
363363#else
@@ -378,7 +378,7 @@ private unsafe long SkipNonMatchingBlocks(long blockNumber, long toffset, byte*
378378 return blockNumber ;
379379 }
380380
381- #if NETCOREAPP3_1 || NET5_0
381+ #if NETCOREAPP3_1 || NET5_0 || NET5_0_OR_GREATER
382382 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
383383 private unsafe long MatchingBytesToLeftAvx2 ( long start , long tstart , byte * sourcePtr , byte * targetPtr , long maxBytes )
384384 {
@@ -470,7 +470,7 @@ private unsafe long MatchingBytesToLeftSse2(long start, long tstart, byte* sourc
470470 }
471471#endif
472472
473- #if NET5_0
473+ #if NET5_0 || NET5_0_OR_GREATER
474474 [ SkipLocalsInit ]
475475#endif
476476 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
@@ -521,7 +521,7 @@ private unsafe long MatchingBytesToLeft(long start, long tstart, byte* sourcePtr
521521 return bytesFound ;
522522 }
523523
524- #if NETCOREAPP3_1 || NET5_0
524+ #if NETCOREAPP3_1 || NET5_0 || NET5_0_OR_GREATER
525525 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
526526 private unsafe long MatchingBytesToRightAvx2 ( long end , long tstart , byte * sourcePtr , byte * targetPtr , ByteBuffer target , long maxBytes )
527527 {
@@ -600,14 +600,14 @@ private unsafe long MatchingBytesToRightSse2(long end, long tstart, byte* source
600600 }
601601#endif
602602
603- #if NET5_0
603+ #if NET5_0 || NET5_0_OR_GREATER
604604 [ SkipLocalsInit ]
605605#endif
606606 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
607607 private unsafe long MatchingBytesToRight ( long end , long tstart , byte * sourcePtr , byte * targetPtr , ByteBuffer target , long maxBytes )
608608 {
609609
610- #if NETCOREAPP3_1 || NET5_0
610+ #if NETCOREAPP3_1 || NET5_0 || NET5_0_OR_GREATER
611611 // ByteBuffer is already pinned, so its safe to just use raw pointer access
612612 // but Vector<T> can only create vectors from a Span and not an address.
613613 // We can probably unroll the while loop in the scalar implementation
0 commit comments