dotnet / runtime

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

ARM64 SVE: Extended addressing modes are not used #108320

Open a74nh opened 1 month ago

a74nh commented 1 month ago
        Vector<uint> data = Sve.LoadVector(ploop, input + i);

produces:

            ldr     x7, [x0]
            add     x7, x7, x4,  LSL #2
            ld1w    { z17.s }, p1/z, [x7]

Instead it should produce:

            ldr     x7, [x0]
            ld1w    { z17.s }, p1/z, [x7, x4, LSL #2]

(I'm ignoring the ptrue/cmpne of the predicate to simplify this issue)

dotnet-policy-service[bot] commented 1 month ago

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