🚄
.NET Native AOT で Hardware Intrinsics を使用する
Hardware Intrinsics を使用する
AtCoder で Native AOT の方に提出したらきちんと動作しなかったので調査したところ、Native AOT で Hardware Intrinsics を使用するには設定が必要なようでした。
- https://atcoder.jp/contests/APG4b/submissions/48434173
- https://atcoder.jp/contests/APG4b/submissions/48434089
.NET 8 以降
csproj に
<PropertyGroup>
<IlcInstructionSet>native</IlcInstructionSet>
</PropertyGroup>
と設定する必要があります。
.NET 7 以前
native
は使えないので、使用する機能を csproj に列挙します。
たとえば x86 では下記のようにします。
<PropertyGroup>
<IlcInstructionSet>avx2,bmi2,fma,pclmul,popcnt,aes</IlcInstructionSet>
</PropertyGroup>
Discussion