dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.56k stars 4.55k forks source link

Arm64/Sve cleanup: Use `gtNewSimdCvtMaskToVectorNode` from gtFoldExprHWIntrinsic instead of importer #103672

Open kunalspathak opened 2 weeks ago

kunalspathak commented 2 weeks ago

Today, during importing we use gtNewSimdCvtMaskToVectorNode to create bigger trees, which can be deferred until gtFoldExprHWIntrinsic.

               [000019] DA-XG------                         ▌  STORE_LCL_VAR simd16<System.Numerics.Vector`1> V01 loc0         
               [000016] ---XG------                         └──▌  HWINTRINSIC simd16 float ConditionalSelect
               [000018] ---XG------                            ├──▌  HWINTRINSIC mask   float ConvertVectorToMask
               [000017] -----------                            │  ├──▌  HWINTRINSIC mask   float CreateTrueMaskAll
               [000009] ---XG------                            │  └──▌  HWINTRINSIC simd16 float ConvertMaskToVector
               [000008] ---XG------                            │     └──▌  HWINTRINSIC mask   float AbsoluteCompareGreaterThan
dotnet-policy-service[bot] commented 2 weeks ago

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch See info in area-owners.md if you want to be subscribed.