Skip to content

Commit a15d929

Browse files
committed
Use DOTNET_EnableHWIntrinsic=0 to disable all intrinsics at once
1 parent f2006f1 commit a15d929

File tree

2 files changed

+17
-30
lines changed

2 files changed

+17
-30
lines changed

.github/workflows/test.yml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,28 +38,22 @@ jobs:
3838
- name: Test (Release)
3939
run: dotnet test -c Release --no-build
4040

41-
- name: Test (Debug, Avx2=0)
41+
- name: Test (Debug, AVX2=0)
4242
env:
4343
DOTNET_EnableAVX2: "0"
4444
run: dotnet test -c Debug --no-build
4545

46-
- name: Test (Release, Avx2=0)
46+
- name: Test (Release, AVX2=0)
4747
env:
4848
DOTNET_EnableAVX2: "0"
4949
run: dotnet test -c Release --no-build
5050

51-
- name: Test (Debug, Sse2=0, Sse41=0, Avx2=0, AdvSimd=0)
51+
- name: Test (Debug, HWIntrinsic=0)
5252
env:
53-
DOTNET_EnableSSE2: "0"
54-
DOTNET_EnableSSE41: "0"
55-
DOTNET_EnableAVX2: "0"
56-
DOTNET_EnableAdvSimd: "0"
53+
DOTNET_EnableHWIntrinsic: "0"
5754
run: dotnet test -c Debug --no-build
5855

59-
- name: Test (Release, Sse2=0, Sse41=0, Avx2=0, AdvSimd=0)
56+
- name: Test (Release, HWIntrinsic=0)
6057
env:
61-
DOTNET_EnableSSE2: "0"
62-
DOTNET_EnableSSE41: "0"
63-
DOTNET_EnableAVX2: "0"
64-
DOTNET_EnableAdvSimd: "0"
58+
DOTNET_EnableHWIntrinsic: "0"
6559
run: dotnet test -c Release --no-build

Ramstack.Globbing.Tests/SimdConfigurationTests.cs

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,19 @@ public class SimdConfigurationTests
1010
[Test]
1111
public void VerifySimdConfiguration()
1212
{
13-
switch (RuntimeInformation.ProcessArchitecture)
13+
if (Environment.GetEnvironmentVariable("DOTNET_EnableHWIntrinsic") == "0")
1414
{
15-
case Architecture.X64:
16-
var isSse2Disabled = Environment.GetEnvironmentVariable("DOTNET_EnableSSE2") == "0";
17-
var isSse41Disabled = Environment.GetEnvironmentVariable("DOTNET_EnableSSE41") == "0";
18-
var isAvx2Disabled = Environment.GetEnvironmentVariable("DOTNET_EnableAVX2") == "0";
19-
20-
Assert.That(isSse2Disabled, Is.EqualTo(!Sse2.IsSupported));
21-
Assert.That(isSse41Disabled, Is.EqualTo(!Sse41.IsSupported));
22-
Assert.That(isAvx2Disabled, Is.EqualTo(!Avx2.IsSupported));
23-
break;
24-
25-
case Architecture.Arm64:
26-
var isAdvSimdDisabled = Environment.GetEnvironmentVariable("DOTNET_EnableAdvSimd") == "0";
27-
28-
Console.WriteLine($"DOTNET_EnableAdvSimd: {isAdvSimdDisabled}");
29-
Console.WriteLine($"AdvSimd.IsSupported : {AdvSimd.IsSupported}");
15+
Assert.That(Sse2.IsSupported, Is.False);
16+
Assert.That(Sse41.IsSupported, Is.False);
17+
Assert.That(Avx2.IsSupported, Is.False);
18+
Assert.That(AdvSimd.IsSupported, Is.False);
19+
}
3020

31-
Assert.That(isAdvSimdDisabled, Is.EqualTo(!AdvSimd.IsSupported));
32-
break;
21+
if (RuntimeInformation.ProcessArchitecture == Architecture.X64 && Environment.GetEnvironmentVariable("DOTNET_EnableAVX2") == "0")
22+
{
23+
Assert.That(Sse2.IsSupported, Is.True);
24+
Assert.That(Sse41.IsSupported, Is.True);
25+
Assert.That(Avx2.IsSupported, Is.False);
3326
}
3427
}
3528
}

0 commit comments

Comments
 (0)