Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit e547e88

Browse files
committed
Migrate 64-bit-only intrinsic tests to new APIs
1 parent 3b919a1 commit e547e88

File tree

100 files changed

+4495
-965
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+4495
-965
lines changed

tests/src/JIT/HardwareIntrinsics/X86/Bmi1/AndNot.UInt64.cs renamed to tests/src/JIT/HardwareIntrinsics/X86/Bmi1.X64/AndNot.UInt64.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public static TestStruct Create()
8181

8282
public void RunStructFldScenario(ScalarBinaryOpTest__AndNotUInt64 testClass)
8383
{
84-
var result = Bmi1.AndNot(_fld1, _fld2);
84+
var result = Bmi1.X64.AndNot(_fld1, _fld2);
8585
testClass.ValidateResult(_fld1, _fld2, result);
8686
}
8787
}
@@ -112,15 +112,15 @@ public ScalarBinaryOpTest__AndNotUInt64()
112112
_data2 = TestLibrary.Generator.GetUInt64();
113113
}
114114

115-
public bool IsSupported => Bmi1.IsSupported && (Environment.Is64BitProcess || ((typeof(UInt64) != typeof(long)) && (typeof(UInt64) != typeof(ulong))));
115+
public bool IsSupported => Bmi1.X64.IsSupported && (Environment.Is64BitProcess || ((typeof(UInt64) != typeof(long)) && (typeof(UInt64) != typeof(ulong))));
116116

117117
public bool Succeeded { get; set; }
118118

119119
public void RunBasicScenario_UnsafeRead()
120120
{
121121
TestLibrary.TestFramework.BeginScenario(nameof(RunBasicScenario_UnsafeRead));
122122

123-
var result = Bmi1.AndNot(
123+
var result = Bmi1.X64.AndNot(
124124
Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data1)),
125125
Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data2))
126126
);
@@ -132,7 +132,7 @@ public void RunReflectionScenario_UnsafeRead()
132132
{
133133
TestLibrary.TestFramework.BeginScenario(nameof(RunReflectionScenario_UnsafeRead));
134134

135-
var result = typeof(Bmi1).GetMethod(nameof(Bmi1.AndNot), new Type[] { typeof(UInt64), typeof(UInt64) })
135+
var result = typeof(Bmi1.X64).GetMethod(nameof(Bmi1.X64.AndNot), new Type[] { typeof(UInt64), typeof(UInt64) })
136136
.Invoke(null, new object[] {
137137
Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data1)),
138138
Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data2))
@@ -145,7 +145,7 @@ public void RunClsVarScenario()
145145
{
146146
TestLibrary.TestFramework.BeginScenario(nameof(RunClsVarScenario));
147147

148-
var result = Bmi1.AndNot(
148+
var result = Bmi1.X64.AndNot(
149149
_clsVar1,
150150
_clsVar2
151151
);
@@ -159,7 +159,7 @@ public void RunLclVarScenario_UnsafeRead()
159159

160160
var data1 = Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data1));
161161
var data2 = Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data2));
162-
var result = Bmi1.AndNot(data1, data2);
162+
var result = Bmi1.X64.AndNot(data1, data2);
163163

164164
ValidateResult(data1, data2, result);
165165
}
@@ -169,7 +169,7 @@ public void RunClassLclFldScenario()
169169
TestLibrary.TestFramework.BeginScenario(nameof(RunClassLclFldScenario));
170170

171171
var test = new ScalarBinaryOpTest__AndNotUInt64();
172-
var result = Bmi1.AndNot(test._fld1, test._fld2);
172+
var result = Bmi1.X64.AndNot(test._fld1, test._fld2);
173173

174174
ValidateResult(test._fld1, test._fld2, result);
175175
}
@@ -178,7 +178,7 @@ public void RunClassFldScenario()
178178
{
179179
TestLibrary.TestFramework.BeginScenario(nameof(RunClassFldScenario));
180180

181-
var result = Bmi1.AndNot(_fld1, _fld2);
181+
var result = Bmi1.X64.AndNot(_fld1, _fld2);
182182
ValidateResult(_fld1, _fld2, result);
183183
}
184184

@@ -187,7 +187,7 @@ public void RunStructLclFldScenario()
187187
TestLibrary.TestFramework.BeginScenario(nameof(RunStructLclFldScenario));
188188

189189
var test = TestStruct.Create();
190-
var result = Bmi1.AndNot(test._fld1, test._fld2);
190+
var result = Bmi1.X64.AndNot(test._fld1, test._fld2);
191191

192192
ValidateResult(test._fld1, test._fld2, result);
193193
}
@@ -229,7 +229,7 @@ private void ValidateResult(UInt64 left, UInt64 right, UInt64 result, [CallerMem
229229

230230
if (isUnexpectedResult)
231231
{
232-
TestLibrary.TestFramework.LogInformation($"{nameof(Bmi1)}.{nameof(Bmi1.AndNot)}<UInt64>(UInt64, UInt64): AndNot failed:");
232+
TestLibrary.TestFramework.LogInformation($"{nameof(Bmi1.X64)}.{nameof(Bmi1.X64.AndNot)}<UInt64>(UInt64, UInt64): AndNot failed:");
233233
TestLibrary.TestFramework.LogInformation($" left: {left}");
234234
TestLibrary.TestFramework.LogInformation($" right: {right}");
235235
TestLibrary.TestFramework.LogInformation($" result: {result}");
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
4+
<PropertyGroup>
5+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+
<SchemaVersion>2.0</SchemaVersion>
8+
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
9+
<OutputType>Exe</OutputType>
10+
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
11+
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
12+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
13+
</PropertyGroup>
14+
<!-- Default configurations to help VS understand the configurations -->
15+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
16+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
17+
<ItemGroup>
18+
<CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
19+
<Visible>False</Visible>
20+
</CodeAnalysisDependentAssemblyPaths>
21+
</ItemGroup>
22+
<PropertyGroup>
23+
<DebugType>Embedded</DebugType>
24+
<Optimize></Optimize>
25+
</PropertyGroup>
26+
<ItemGroup>
27+
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
28+
</ItemGroup>
29+
<ItemGroup>
30+
<Compile Include="AndNot.UInt64.cs" />
31+
<Compile Include="ExtractLowestSetBit.UInt64.cs" />
32+
<Compile Include="GetMaskUpToLowestSetBit.UInt64.cs" />
33+
<Compile Include="ResetLowestSetBit.UInt64.cs" />
34+
<Compile Include="TrailingZeroCount.UInt64.cs" />
35+
<Compile Include="Program.Bmi1.X64.cs" />
36+
<Compile Include="..\Shared\Program.cs" />
37+
</ItemGroup>
38+
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
39+
<PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
40+
</Project>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
4+
<PropertyGroup>
5+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+
<SchemaVersion>2.0</SchemaVersion>
8+
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
9+
<OutputType>Exe</OutputType>
10+
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
11+
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
12+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
13+
</PropertyGroup>
14+
<!-- Default configurations to help VS understand the configurations -->
15+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
16+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
17+
<ItemGroup>
18+
<CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
19+
<Visible>False</Visible>
20+
</CodeAnalysisDependentAssemblyPaths>
21+
</ItemGroup>
22+
<PropertyGroup>
23+
<DebugType>Embedded</DebugType>
24+
<Optimize>True</Optimize>
25+
</PropertyGroup>
26+
<ItemGroup>
27+
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
28+
</ItemGroup>
29+
<ItemGroup>
30+
<Compile Include="AndNot.UInt64.cs" />
31+
<Compile Include="ExtractLowestSetBit.UInt64.cs" />
32+
<Compile Include="GetMaskUpToLowestSetBit.UInt64.cs" />
33+
<Compile Include="ResetLowestSetBit.UInt64.cs" />
34+
<Compile Include="TrailingZeroCount.UInt64.cs" />
35+
<Compile Include="Program.Bmi1.X64.cs" />
36+
<Compile Include="..\Shared\Program.cs" />
37+
</ItemGroup>
38+
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
39+
<PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
40+
</Project>

tests/src/JIT/HardwareIntrinsics/X86/Bmi1/ExtractLowestSetBit.UInt64.cs renamed to tests/src/JIT/HardwareIntrinsics/X86/Bmi1.X64/ExtractLowestSetBit.UInt64.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public static TestStruct Create()
7878

7979
public void RunStructFldScenario(ScalarUnaryOpTest__ExtractLowestSetBitUInt64 testClass)
8080
{
81-
var result = Bmi1.ExtractLowestSetBit(_fld);
81+
var result = Bmi1.X64.ExtractLowestSetBit(_fld);
8282
testClass.ValidateResult(_fld, result);
8383
}
8484
}
@@ -103,15 +103,15 @@ public ScalarUnaryOpTest__ExtractLowestSetBitUInt64()
103103
_data = TestLibrary.Generator.GetUInt64();
104104
}
105105

106-
public bool IsSupported => Bmi1.IsSupported && (Environment.Is64BitProcess || ((typeof(UInt64) != typeof(long)) && (typeof(UInt64) != typeof(ulong))));
106+
public bool IsSupported => Bmi1.X64.IsSupported && (Environment.Is64BitProcess || ((typeof(UInt64) != typeof(long)) && (typeof(UInt64) != typeof(ulong))));
107107

108108
public bool Succeeded { get; set; }
109109

110110
public void RunBasicScenario_UnsafeRead()
111111
{
112112
TestLibrary.TestFramework.BeginScenario(nameof(RunBasicScenario_UnsafeRead));
113113

114-
var result = Bmi1.ExtractLowestSetBit(
114+
var result = Bmi1.X64.ExtractLowestSetBit(
115115
Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data))
116116
);
117117

@@ -122,7 +122,7 @@ public void RunReflectionScenario_UnsafeRead()
122122
{
123123
TestLibrary.TestFramework.BeginScenario(nameof(RunReflectionScenario_UnsafeRead));
124124

125-
var result = typeof(Bmi1).GetMethod(nameof(Bmi1.ExtractLowestSetBit), new Type[] { typeof(UInt64) })
125+
var result = typeof(Bmi1.X64).GetMethod(nameof(Bmi1.X64.ExtractLowestSetBit), new Type[] { typeof(UInt64) })
126126
.Invoke(null, new object[] {
127127
Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data))
128128
});
@@ -134,7 +134,7 @@ public void RunClsVarScenario()
134134
{
135135
TestLibrary.TestFramework.BeginScenario(nameof(RunClsVarScenario));
136136

137-
var result = Bmi1.ExtractLowestSetBit(
137+
var result = Bmi1.X64.ExtractLowestSetBit(
138138
_clsVar
139139
);
140140

@@ -146,7 +146,7 @@ public void RunLclVarScenario_UnsafeRead()
146146
TestLibrary.TestFramework.BeginScenario(nameof(RunLclVarScenario_UnsafeRead));
147147

148148
var data = Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data));
149-
var result = Bmi1.ExtractLowestSetBit(data);
149+
var result = Bmi1.X64.ExtractLowestSetBit(data);
150150

151151
ValidateResult(data, result);
152152
}
@@ -156,7 +156,7 @@ public void RunClassLclFldScenario()
156156
TestLibrary.TestFramework.BeginScenario(nameof(RunClassLclFldScenario));
157157

158158
var test = new ScalarUnaryOpTest__ExtractLowestSetBitUInt64();
159-
var result = Bmi1.ExtractLowestSetBit(test._fld);
159+
var result = Bmi1.X64.ExtractLowestSetBit(test._fld);
160160

161161
ValidateResult(test._fld, result);
162162
}
@@ -165,7 +165,7 @@ public void RunClassFldScenario()
165165
{
166166
TestLibrary.TestFramework.BeginScenario(nameof(RunClassFldScenario));
167167

168-
var result = Bmi1.ExtractLowestSetBit(_fld);
168+
var result = Bmi1.X64.ExtractLowestSetBit(_fld);
169169
ValidateResult(_fld, result);
170170
}
171171

@@ -174,7 +174,7 @@ public void RunStructLclFldScenario()
174174
TestLibrary.TestFramework.BeginScenario(nameof(RunStructLclFldScenario));
175175

176176
var test = TestStruct.Create();
177-
var result = Bmi1.ExtractLowestSetBit(test._fld);
177+
var result = Bmi1.X64.ExtractLowestSetBit(test._fld);
178178

179179
ValidateResult(test._fld, result);
180180
}
@@ -216,7 +216,7 @@ private void ValidateResult(UInt64 data, UInt64 result, [CallerMemberName] strin
216216

217217
if (isUnexpectedResult)
218218
{
219-
TestLibrary.TestFramework.LogInformation($"{nameof(Bmi1)}.{nameof(Bmi1.ExtractLowestSetBit)}<UInt64>(UInt64): ExtractLowestSetBit failed:");
219+
TestLibrary.TestFramework.LogInformation($"{nameof(Bmi1.X64)}.{nameof(Bmi1.X64.ExtractLowestSetBit)}<UInt64>(UInt64): ExtractLowestSetBit failed:");
220220
TestLibrary.TestFramework.LogInformation($" data: {data}");
221221
TestLibrary.TestFramework.LogInformation($" result: {result}");
222222
TestLibrary.TestFramework.LogInformation(string.Empty);

tests/src/JIT/HardwareIntrinsics/X86/Bmi1/GetMaskUpToLowestSetBit.UInt64.cs renamed to tests/src/JIT/HardwareIntrinsics/X86/Bmi1.X64/GetMaskUpToLowestSetBit.UInt64.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public static TestStruct Create()
7878

7979
public void RunStructFldScenario(ScalarUnaryOpTest__GetMaskUpToLowestSetBitUInt64 testClass)
8080
{
81-
var result = Bmi1.GetMaskUpToLowestSetBit(_fld);
81+
var result = Bmi1.X64.GetMaskUpToLowestSetBit(_fld);
8282
testClass.ValidateResult(_fld, result);
8383
}
8484
}
@@ -103,15 +103,15 @@ public ScalarUnaryOpTest__GetMaskUpToLowestSetBitUInt64()
103103
_data = TestLibrary.Generator.GetUInt64();
104104
}
105105

106-
public bool IsSupported => Bmi1.IsSupported && (Environment.Is64BitProcess || ((typeof(UInt64) != typeof(long)) && (typeof(UInt64) != typeof(ulong))));
106+
public bool IsSupported => Bmi1.X64.IsSupported && (Environment.Is64BitProcess || ((typeof(UInt64) != typeof(long)) && (typeof(UInt64) != typeof(ulong))));
107107

108108
public bool Succeeded { get; set; }
109109

110110
public void RunBasicScenario_UnsafeRead()
111111
{
112112
TestLibrary.TestFramework.BeginScenario(nameof(RunBasicScenario_UnsafeRead));
113113

114-
var result = Bmi1.GetMaskUpToLowestSetBit(
114+
var result = Bmi1.X64.GetMaskUpToLowestSetBit(
115115
Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data))
116116
);
117117

@@ -122,7 +122,7 @@ public void RunReflectionScenario_UnsafeRead()
122122
{
123123
TestLibrary.TestFramework.BeginScenario(nameof(RunReflectionScenario_UnsafeRead));
124124

125-
var result = typeof(Bmi1).GetMethod(nameof(Bmi1.GetMaskUpToLowestSetBit), new Type[] { typeof(UInt64) })
125+
var result = typeof(Bmi1.X64).GetMethod(nameof(Bmi1.X64.GetMaskUpToLowestSetBit), new Type[] { typeof(UInt64) })
126126
.Invoke(null, new object[] {
127127
Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data))
128128
});
@@ -134,7 +134,7 @@ public void RunClsVarScenario()
134134
{
135135
TestLibrary.TestFramework.BeginScenario(nameof(RunClsVarScenario));
136136

137-
var result = Bmi1.GetMaskUpToLowestSetBit(
137+
var result = Bmi1.X64.GetMaskUpToLowestSetBit(
138138
_clsVar
139139
);
140140

@@ -146,7 +146,7 @@ public void RunLclVarScenario_UnsafeRead()
146146
TestLibrary.TestFramework.BeginScenario(nameof(RunLclVarScenario_UnsafeRead));
147147

148148
var data = Unsafe.ReadUnaligned<UInt64>(ref Unsafe.As<UInt64, byte>(ref _data));
149-
var result = Bmi1.GetMaskUpToLowestSetBit(data);
149+
var result = Bmi1.X64.GetMaskUpToLowestSetBit(data);
150150

151151
ValidateResult(data, result);
152152
}
@@ -156,7 +156,7 @@ public void RunClassLclFldScenario()
156156
TestLibrary.TestFramework.BeginScenario(nameof(RunClassLclFldScenario));
157157

158158
var test = new ScalarUnaryOpTest__GetMaskUpToLowestSetBitUInt64();
159-
var result = Bmi1.GetMaskUpToLowestSetBit(test._fld);
159+
var result = Bmi1.X64.GetMaskUpToLowestSetBit(test._fld);
160160

161161
ValidateResult(test._fld, result);
162162
}
@@ -165,7 +165,7 @@ public void RunClassFldScenario()
165165
{
166166
TestLibrary.TestFramework.BeginScenario(nameof(RunClassFldScenario));
167167

168-
var result = Bmi1.GetMaskUpToLowestSetBit(_fld);
168+
var result = Bmi1.X64.GetMaskUpToLowestSetBit(_fld);
169169
ValidateResult(_fld, result);
170170
}
171171

@@ -174,7 +174,7 @@ public void RunStructLclFldScenario()
174174
TestLibrary.TestFramework.BeginScenario(nameof(RunStructLclFldScenario));
175175

176176
var test = TestStruct.Create();
177-
var result = Bmi1.GetMaskUpToLowestSetBit(test._fld);
177+
var result = Bmi1.X64.GetMaskUpToLowestSetBit(test._fld);
178178

179179
ValidateResult(test._fld, result);
180180
}
@@ -216,7 +216,7 @@ private void ValidateResult(UInt64 data, UInt64 result, [CallerMemberName] strin
216216

217217
if (isUnexpectedResult)
218218
{
219-
TestLibrary.TestFramework.LogInformation($"{nameof(Bmi1)}.{nameof(Bmi1.GetMaskUpToLowestSetBit)}<UInt64>(UInt64): GetMaskUpToLowestSetBit failed:");
219+
TestLibrary.TestFramework.LogInformation($"{nameof(Bmi1.X64)}.{nameof(Bmi1.X64.GetMaskUpToLowestSetBit)}<UInt64>(UInt64): GetMaskUpToLowestSetBit failed:");
220220
TestLibrary.TestFramework.LogInformation($" data: {data}");
221221
TestLibrary.TestFramework.LogInformation($" result: {result}");
222222
TestLibrary.TestFramework.LogInformation(string.Empty);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
// See the LICENSE file in the project root for more information.
4+
5+
using System;
6+
using System.Collections.Generic;
7+
8+
namespace JIT.HardwareIntrinsics.X86
9+
{
10+
public static partial class Program
11+
{
12+
static Program()
13+
{
14+
TestList = new Dictionary<string, Action>() {
15+
["AndNot.UInt64"] = AndNotUInt64,
16+
["ExtractLowestSetBit.UInt64"] = ExtractLowestSetBitUInt64,
17+
["GetMaskUpToLowestSetBit.UInt64"] = GetMaskUpToLowestSetBitUInt64,
18+
["ResetLowestSetBit.UInt64"] = ResetLowestSetBitUInt64,
19+
["TrailingZeroCount.UInt64"] = TrailingZeroCountUInt64,
20+
};
21+
}
22+
}
23+
}

0 commit comments

Comments
 (0)