diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 57ae1ea..8e97837 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,11 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v4 with: - dotnet-version: 9.0.x + dotnet-version: | + 6.x + 7.x + 8.x + 9.x - name: Checkout uses: actions/checkout@v4 diff --git a/Ramstack.Globbing/Internal/PathHelper.cs b/Ramstack.Globbing/Internal/PathHelper.cs index d0664ab..f318b41 100644 --- a/Ramstack.Globbing/Internal/PathHelper.cs +++ b/Ramstack.Globbing/Internal/PathHelper.cs @@ -309,7 +309,7 @@ public PathSegmentIterator(int length) => while (_position < _length) { - if (_mask != 0) + if (Avx2.IsSupported && _mask != 0) { var offset = BitOperations.TrailingZeroCount(_mask); _last = _position + (nint)((uint)offset >> 1); @@ -321,7 +321,7 @@ public PathSegmentIterator(int length) => return ((int)start, (int)_last); } - if (_position + Vector256.Count <= _length) + if (Avx2.IsSupported && _position + Vector256.Count <= _length) { var chunk = LoadVector256(ref source, _position); var allowEscapingMask = CreateAllowEscaping256Bitmask(flags);