-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Closed
Copy link
Labels
Priority:2Work that is important, but not critical for the releaseWork that is important, but not critical for the releasearea-System.Runtime.Intrinsicsarm-sveWork related to arm64 SVE/SVE2 supportWork related to arm64 SVE/SVE2 supportin-prThere is an active PR which will close this issue when it is mergedThere is an active PR which will close this issue when it is merged
Milestone
Description
As pointed out in https://github.com/dotnet/runtime/pull/102903/files#diff-f10507b9e232d4e19690c6a45d1372a35b663df21d62d2fb5011e2d360aa4a4aR49-R59, the LoadVector*NonFaultingSignExtend* and LoadVector*NonFaultingZeroExtend* APIs do not have explicit mask argument, which means they can be technically wrapped in ConditionalSelect. But under the hood, the instruction has Pg/Z semantics to load the values in vector. As such, if targetReg == falseReg, it does not play well because the instruction will overwrite the contents of falseReg and we will not get the desired result.
Metadata
Metadata
Assignees
Labels
Priority:2Work that is important, but not critical for the releaseWork that is important, but not critical for the releasearea-System.Runtime.Intrinsicsarm-sveWork related to arm64 SVE/SVE2 supportWork related to arm64 SVE/SVE2 supportin-prThere is an active PR which will close this issue when it is mergedThere is an active PR which will close this issue when it is merged