Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Arm64/Sve: ConditionalSelect(LoadVector*NonFaultingSignExtend*) codegen #102904

Copy link
Copy link

Description

@kunalspathak
Issue body actions

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.

Reactions are currently unavailable

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

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

Morty Proxy This is a proxified and sanitized view of the page, visit original site.