@@ -47,7 +47,7 @@ public void AllowsAllHwIntrinsicFeatures()
4747 }
4848
4949 FeatureTestRunner . RunWithHwIntrinsicsFeature (
50- ( ) => Assert . True ( Vector . IsHardwareAccelerated ) ,
50+ ( ) => Assert . True ( Vector . IsHardwareAccelerated , "Vector hardware acceleration should be enabled when AllowAll is specified." ) ,
5151 HwIntrinsics . AllowAll ) ;
5252 }
5353
@@ -56,21 +56,21 @@ public void CanLimitHwIntrinsicBaseFeatures()
5656 {
5757 static void AssertDisabled ( )
5858 {
59- Assert . False ( Sse . IsSupported ) ;
60- Assert . False ( Sse2 . IsSupported ) ;
61- Assert . False ( Aes . IsSupported ) ;
62- Assert . False ( Pclmulqdq . IsSupported ) ;
63- Assert . False ( Sse3 . IsSupported ) ;
64- Assert . False ( Ssse3 . IsSupported ) ;
65- Assert . False ( Sse41 . IsSupported ) ;
66- Assert . False ( Sse42 . IsSupported ) ;
67- Assert . False ( Popcnt . IsSupported ) ;
68- Assert . False ( Avx . IsSupported ) ;
69- Assert . False ( Fma . IsSupported ) ;
70- Assert . False ( Avx2 . IsSupported ) ;
71- Assert . False ( Bmi1 . IsSupported ) ;
72- Assert . False ( Bmi2 . IsSupported ) ;
73- Assert . False ( Lzcnt . IsSupported ) ;
59+ Assert . False ( Sse . IsSupported , "SSE should be disabled when DisableHWIntrinsic is set." ) ;
60+ Assert . False ( Sse2 . IsSupported , "SSE2 should be disabled when DisableHWIntrinsic is set." ) ;
61+ Assert . False ( Aes . IsSupported , "AES (x86) should be disabled when DisableHWIntrinsic is set." ) ;
62+ Assert . False ( Pclmulqdq . IsSupported , "PCLMULQDQ should be disabled when DisableHWIntrinsic is set." ) ;
63+ Assert . False ( Sse3 . IsSupported , "SSE3 should be disabled when DisableHWIntrinsic is set." ) ;
64+ Assert . False ( Ssse3 . IsSupported , "SSSE3 should be disabled when DisableHWIntrinsic is set." ) ;
65+ Assert . False ( Sse41 . IsSupported , "SSE4.1 should be disabled when DisableHWIntrinsic is set." ) ;
66+ Assert . False ( Sse42 . IsSupported , "SSE4.2 should be disabled when DisableHWIntrinsic is set." ) ;
67+ Assert . False ( Popcnt . IsSupported , "POPCNT should be disabled when DisableHWIntrinsic is set." ) ;
68+ Assert . False ( Avx . IsSupported , "AVX should be disabled when DisableHWIntrinsic is set." ) ;
69+ Assert . False ( Fma . IsSupported , "FMA should be disabled when DisableHWIntrinsic is set." ) ;
70+ Assert . False ( Avx2 . IsSupported , "AVX2 should be disabled when DisableHWIntrinsic is set." ) ;
71+ Assert . False ( Bmi1 . IsSupported , "BMI1 should be disabled when DisableHWIntrinsic is set." ) ;
72+ Assert . False ( Bmi2 . IsSupported , "BMI2 should be disabled when DisableHWIntrinsic is set." ) ;
73+ Assert . False ( Lzcnt . IsSupported , "LZCNT should be disabled when DisableHWIntrinsic is set." ) ;
7474 }
7575
7676 FeatureTestRunner . RunWithHwIntrinsicsFeature (
@@ -88,31 +88,33 @@ static void AssertHwIntrinsicsFeatureDisabled(string intrinsic)
8888 switch ( Enum . Parse < HwIntrinsics > ( intrinsic ) )
8989 {
9090 case HwIntrinsics . DisableHWIntrinsic :
91- Assert . False ( Sse . IsSupported ) ;
92- Assert . False ( Sse2 . IsSupported ) ;
93- Assert . False ( Aes . IsSupported ) ;
94- Assert . False ( Pclmulqdq . IsSupported ) ;
95- Assert . False ( Sse3 . IsSupported ) ;
96- Assert . False ( Ssse3 . IsSupported ) ;
97- Assert . False ( Sse41 . IsSupported ) ;
98- Assert . False ( Sse42 . IsSupported ) ;
99- Assert . False ( Popcnt . IsSupported ) ;
100- Assert . False ( Avx . IsSupported ) ;
101- Assert . False ( Fma . IsSupported ) ;
102- Assert . False ( Avx2 . IsSupported ) ;
103- Assert . False ( Bmi1 . IsSupported ) ;
104- Assert . False ( Bmi2 . IsSupported ) ;
105- Assert . False ( Lzcnt . IsSupported ) ;
106- Assert . False ( AdvSimd . IsSupported ) ;
107- Assert . False ( System . Runtime . Intrinsics . Arm . Aes . IsSupported ) ;
108- Assert . False ( Crc32 . IsSupported ) ;
109- Assert . False ( Dp . IsSupported ) ;
110- Assert . False ( Sha1 . IsSupported ) ;
111- Assert . False ( Sha256 . IsSupported ) ;
91+ Assert . False ( Sse . IsSupported , "SSE should be disabled when DisableHWIntrinsic is set." ) ;
92+ Assert . False ( Sse2 . IsSupported , "SSE2 should be disabled when DisableHWIntrinsic is set." ) ;
93+ Assert . False ( Aes . IsSupported , "AES (x86) should be disabled when DisableHWIntrinsic is set." ) ;
94+ Assert . False ( Pclmulqdq . IsSupported , "PCLMULQDQ should be disabled when DisableHWIntrinsic is set." ) ;
95+ Assert . False ( Sse3 . IsSupported , "SSE3 should be disabled when DisableHWIntrinsic is set." ) ;
96+ Assert . False ( Ssse3 . IsSupported , "SSSE3 should be disabled when DisableHWIntrinsic is set." ) ;
97+ Assert . False ( Sse41 . IsSupported , "SSE4.1 should be disabled when DisableHWIntrinsic is set." ) ;
98+ Assert . False ( Sse42 . IsSupported , "SSE4.2 should be disabled when DisableHWIntrinsic is set." ) ;
99+ Assert . False ( Popcnt . IsSupported , "POPCNT should be disabled when DisableHWIntrinsic is set." ) ;
100+ Assert . False ( Avx . IsSupported , "AVX should be disabled when DisableHWIntrinsic is set." ) ;
101+ Assert . False ( Fma . IsSupported , "FMA should be disabled when DisableHWIntrinsic is set." ) ;
102+ Assert . False ( Avx2 . IsSupported , "AVX2 should be disabled when DisableHWIntrinsic is set." ) ;
103+ Assert . False ( Bmi1 . IsSupported , "BMI1 should be disabled when DisableHWIntrinsic is set." ) ;
104+ Assert . False ( Bmi2 . IsSupported , "BMI2 should be disabled when DisableHWIntrinsic is set." ) ;
105+ Assert . False ( Lzcnt . IsSupported , "LZCNT should be disabled when DisableHWIntrinsic is set." ) ;
106+ Assert . False ( AdvSimd . IsSupported , "Arm64 AdvSimd should be disabled when DisableHWIntrinsic is set." ) ;
107+ Assert . False ( System . Runtime . Intrinsics . Arm . Aes . IsSupported , "Arm64 AES should be disabled when DisableHWIntrinsic is set." ) ;
108+ Assert . False ( Crc32 . IsSupported , "Arm64 CRC32 should be disabled when DisableHWIntrinsic is set." ) ;
109+ Assert . False ( Dp . IsSupported , "Arm64 DotProd (DP) should be disabled when DisableHWIntrinsic is set." ) ;
110+ Assert . False ( Sha1 . IsSupported , "Arm64 SHA1 should be disabled when DisableHWIntrinsic is set." ) ;
111+ Assert . False ( Sha256 . IsSupported , "Arm64 SHA256 should be disabled when DisableHWIntrinsic is set." ) ;
112112 break ;
113113 case HwIntrinsics . DisableAES :
114- Assert . False ( Aes . IsSupported ) ;
115- Assert . False ( Pclmulqdq . IsSupported ) ;
114+ Assert . False ( Aes . IsSupported , "AES (x86) should be disabled when DisableAES is set." ) ;
115+ #if NET10_0_OR_GREATER
116+ Assert . False ( Pclmulqdq . IsSupported , "PCLMULQDQ should be disabled when DisableAES is set (paired disable)." ) ;
117+ #endif
116118 break ;
117119 case HwIntrinsics . DisableSSE42 :
118120#if NET10_0_OR_GREATER
@@ -121,35 +123,35 @@ static void AssertHwIntrinsicsFeatureDisabled(string intrinsic)
121123 Assert . False ( Sse41 . IsSupported , "Sse41 should be disabled." ) ;
122124 Assert . False ( Popcnt . IsSupported , "Popcnt should be disabled." ) ;
123125#else
124- Assert . False ( Sse42 . IsSupported , "Sse42 should be disabled." ) ;
126+ Assert . False ( Sse42 . IsSupported , "Sse42 should be disabled when DisableSSE42 is set ." ) ;
125127#endif
126128 break ;
127129 case HwIntrinsics . DisableAVX :
128- Assert . False ( Avx . IsSupported ) ;
130+ Assert . False ( Avx . IsSupported , "AVX should be disabled when DisableAVX is set." ) ;
129131 break ;
130132 case HwIntrinsics . DisableAVX2 :
131- Assert . False ( Avx2 . IsSupported ) ;
133+ Assert . False ( Avx2 . IsSupported , "AVX2 should be disabled when DisableAVX2 is set." ) ;
132134#if NET10_0_OR_GREATER
133- Assert . False ( Fma . IsSupported ) ;
134- Assert . False ( Bmi1 . IsSupported ) ;
135- Assert . False ( Bmi2 . IsSupported ) ;
136- Assert . False ( Lzcnt . IsSupported ) ;
135+ Assert . False ( Fma . IsSupported , "FMA should be disabled when DisableAVX2 is set (paired disable)." ) ;
136+ Assert . False ( Bmi1 . IsSupported , "BMI1 should be disabled when DisableAVX2 is set (paired disable)." ) ;
137+ Assert . False ( Bmi2 . IsSupported , "BMI2 should be disabled when DisableAVX2 is set (paired disable)." ) ;
138+ Assert . False ( Lzcnt . IsSupported , "LZCNT should be disabled when DisableAVX2 is set (paired disable)." ) ;
137139#endif
138140 break ;
139141 case HwIntrinsics . DisableArm64Aes :
140- Assert . False ( System . Runtime . Intrinsics . Arm . Aes . IsSupported ) ;
142+ Assert . False ( System . Runtime . Intrinsics . Arm . Aes . IsSupported , "Arm64 AES should be disabled when DisableArm64Aes is set." ) ;
141143 break ;
142144 case HwIntrinsics . DisableArm64Crc32 :
143- Assert . False ( Crc32 . IsSupported ) ;
145+ Assert . False ( Crc32 . IsSupported , "Arm64 CRC32 should be disabled when DisableArm64Crc32 is set." ) ;
144146 break ;
145147 case HwIntrinsics . DisableArm64Dp :
146- Assert . False ( Dp . IsSupported ) ;
148+ Assert . False ( Dp . IsSupported , "Arm64 DotProd (DP) should be disabled when DisableArm64Dp is set." ) ;
147149 break ;
148150 case HwIntrinsics . DisableArm64Sha1 :
149- Assert . False ( Sha1 . IsSupported ) ;
151+ Assert . False ( Sha1 . IsSupported , "Arm64 SHA1 should be disabled when DisableArm64Sha1 is set." ) ;
150152 break ;
151153 case HwIntrinsics . DisableArm64Sha256 :
152- Assert . False ( Sha256 . IsSupported ) ;
154+ Assert . False ( Sha256 . IsSupported , "Arm64 SHA256 should be disabled when DisableArm64Sha256 is set." ) ;
153155 break ;
154156 }
155157 }
@@ -167,7 +169,7 @@ static void AssertHwIntrinsicsFeatureDisabled(string serializable)
167169 {
168170 Assert . NotNull ( serializable ) ;
169171 Assert . NotNull ( FeatureTestRunner . DeserializeForXunit < FakeSerializable > ( serializable ) ) ;
170- Assert . False ( Sse . IsSupported ) ;
172+ Assert . False ( Sse . IsSupported , "SSE should be disabled when DisableSSE42 is set (sanity check using serializable param overload)." ) ;
171173 }
172174
173175 FeatureTestRunner . RunWithHwIntrinsicsFeature (
@@ -187,32 +189,32 @@ static void AssertHwIntrinsicsFeatureDisabled(string serializable, string intrin
187189 switch ( Enum . Parse < HwIntrinsics > ( intrinsic ) )
188190 {
189191 case HwIntrinsics . DisableHWIntrinsic :
190- Assert . False ( Sse . IsSupported ) ;
191- Assert . False ( Sse2 . IsSupported ) ;
192- Assert . False ( Aes . IsSupported ) ;
193- Assert . False ( Pclmulqdq . IsSupported ) ;
194- Assert . False ( Sse3 . IsSupported ) ;
195- Assert . False ( Ssse3 . IsSupported ) ;
196- Assert . False ( Sse41 . IsSupported ) ;
197- Assert . False ( Sse42 . IsSupported ) ;
198- Assert . False ( Popcnt . IsSupported ) ;
199- Assert . False ( Avx . IsSupported ) ;
200- Assert . False ( Fma . IsSupported ) ;
201- Assert . False ( Avx2 . IsSupported ) ;
202- Assert . False ( Bmi1 . IsSupported ) ;
203- Assert . False ( Bmi2 . IsSupported ) ;
204- Assert . False ( Lzcnt . IsSupported ) ;
205- Assert . False ( AdvSimd . IsSupported ) ;
206- Assert . False ( System . Runtime . Intrinsics . Arm . Aes . IsSupported ) ;
207- Assert . False ( Crc32 . IsSupported ) ;
208- Assert . False ( Dp . IsSupported ) ;
209- Assert . False ( Sha1 . IsSupported ) ;
210- Assert . False ( Sha256 . IsSupported ) ;
192+ Assert . False ( Sse . IsSupported , "SSE should be disabled when DisableHWIntrinsic is set." ) ;
193+ Assert . False ( Sse2 . IsSupported , "SSE2 should be disabled when DisableHWIntrinsic is set." ) ;
194+ Assert . False ( Aes . IsSupported , "AES (x86) should be disabled when DisableHWIntrinsic is set." ) ;
195+ Assert . False ( Pclmulqdq . IsSupported , "PCLMULQDQ should be disabled when DisableHWIntrinsic is set." ) ;
196+ Assert . False ( Sse3 . IsSupported , "SSE3 should be disabled when DisableHWIntrinsic is set." ) ;
197+ Assert . False ( Ssse3 . IsSupported , "SSSE3 should be disabled when DisableHWIntrinsic is set." ) ;
198+ Assert . False ( Sse41 . IsSupported , "SSE4.1 should be disabled when DisableHWIntrinsic is set." ) ;
199+ Assert . False ( Sse42 . IsSupported , "SSE4.2 should be disabled when DisableHWIntrinsic is set." ) ;
200+ Assert . False ( Popcnt . IsSupported , "POPCNT should be disabled when DisableHWIntrinsic is set." ) ;
201+ Assert . False ( Avx . IsSupported , "AVX should be disabled when DisableHWIntrinsic is set." ) ;
202+ Assert . False ( Fma . IsSupported , "FMA should be disabled when DisableHWIntrinsic is set." ) ;
203+ Assert . False ( Avx2 . IsSupported , "AVX2 should be disabled when DisableHWIntrinsic is set." ) ;
204+ Assert . False ( Bmi1 . IsSupported , "BMI1 should be disabled when DisableHWIntrinsic is set." ) ;
205+ Assert . False ( Bmi2 . IsSupported , "BMI2 should be disabled when DisableHWIntrinsic is set." ) ;
206+ Assert . False ( Lzcnt . IsSupported , "LZCNT should be disabled when DisableHWIntrinsic is set." ) ;
207+ Assert . False ( AdvSimd . IsSupported , "Arm64 AdvSimd should be disabled when DisableHWIntrinsic is set." ) ;
208+ Assert . False ( System . Runtime . Intrinsics . Arm . Aes . IsSupported , "Arm64 AES should be disabled when DisableHWIntrinsic is set." ) ;
209+ Assert . False ( Crc32 . IsSupported , "Arm64 CRC32 should be disabled when DisableHWIntrinsic is set." ) ;
210+ Assert . False ( Dp . IsSupported , "Arm64 DotProd (DP) should be disabled when DisableHWIntrinsic is set." ) ;
211+ Assert . False ( Sha1 . IsSupported , "Arm64 SHA1 should be disabled when DisableHWIntrinsic is set." ) ;
212+ Assert . False ( Sha256 . IsSupported , "Arm64 SHA256 should be disabled when DisableHWIntrinsic is set." ) ;
211213 break ;
212214 case HwIntrinsics . DisableAES :
213- Assert . False ( Aes . IsSupported ) ;
215+ Assert . False ( Aes . IsSupported , "AES (x86) should be disabled when DisableAES is set." ) ;
214216#if NET10_0_OR_GREATER
215- Assert . False ( Pclmulqdq . IsSupported ) ;
217+ Assert . False ( Pclmulqdq . IsSupported , "PCLMULQDQ should be disabled when DisableAES is set (paired disable)." ) ;
216218#endif
217219 break ;
218220 case HwIntrinsics . DisableSSE42 :
@@ -222,34 +224,34 @@ static void AssertHwIntrinsicsFeatureDisabled(string serializable, string intrin
222224 Assert . False ( Sse41 . IsSupported , "Sse41 should be disabled." ) ;
223225 Assert . False ( Popcnt . IsSupported , "Popcnt should be disabled." ) ;
224226#endif
225- Assert . False ( Sse42 . IsSupported , "Sse42 should be disabled." ) ;
227+ Assert . False ( Sse42 . IsSupported , "Sse42 should be disabled when DisableSSE42 is set ." ) ;
226228 break ;
227229 case HwIntrinsics . DisableAVX :
228- Assert . False ( Avx . IsSupported ) ;
230+ Assert . False ( Avx . IsSupported , "AVX should be disabled when DisableAVX is set." ) ;
229231 break ;
230232 case HwIntrinsics . DisableAVX2 :
231- Assert . False ( Avx2 . IsSupported ) ;
233+ Assert . False ( Avx2 . IsSupported , "AVX2 should be disabled when DisableAVX2 is set." ) ;
232234#if NET10_0_OR_GREATER
233- Assert . False ( Fma . IsSupported ) ;
234- Assert . False ( Bmi1 . IsSupported ) ;
235- Assert . False ( Bmi2 . IsSupported ) ;
236- Assert . False ( Lzcnt . IsSupported ) ;
235+ Assert . False ( Fma . IsSupported , "FMA should be disabled when DisableAVX2 is set (paired disable)." ) ;
236+ Assert . False ( Bmi1 . IsSupported , "BMI1 should be disabled when DisableAVX2 is set (paired disable)." ) ;
237+ Assert . False ( Bmi2 . IsSupported , "BMI2 should be disabled when DisableAVX2 is set (paired disable)." ) ;
238+ Assert . False ( Lzcnt . IsSupported , "LZCNT should be disabled when DisableAVX2 is set (paired disable)." ) ;
237239#endif
238240 break ;
239241 case HwIntrinsics . DisableArm64Aes :
240- Assert . False ( System . Runtime . Intrinsics . Arm . Aes . IsSupported ) ;
242+ Assert . False ( System . Runtime . Intrinsics . Arm . Aes . IsSupported , "Arm64 AES should be disabled when DisableArm64Aes is set." ) ;
241243 break ;
242244 case HwIntrinsics . DisableArm64Crc32 :
243- Assert . False ( Crc32 . IsSupported ) ;
245+ Assert . False ( Crc32 . IsSupported , "Arm64 CRC32 should be disabled when DisableArm64Crc32 is set." ) ;
244246 break ;
245247 case HwIntrinsics . DisableArm64Dp :
246- Assert . False ( Dp . IsSupported ) ;
248+ Assert . False ( Dp . IsSupported , "Arm64 DotProd (DP) should be disabled when DisableArm64Dp is set." ) ;
247249 break ;
248250 case HwIntrinsics . DisableArm64Sha1 :
249- Assert . False ( Sha1 . IsSupported ) ;
251+ Assert . False ( Sha1 . IsSupported , "Arm64 SHA1 should be disabled when DisableArm64Sha1 is set." ) ;
250252 break ;
251253 case HwIntrinsics . DisableArm64Sha256 :
252- Assert . False ( Sha256 . IsSupported ) ;
254+ Assert . False ( Sha256 . IsSupported , "Arm64 SHA256 should be disabled when DisableArm64Sha256 is set." ) ;
253255 break ;
254256 }
255257 }
0 commit comments