Skip to content

ARM64-SVE: Detect mask usage for Across functions #101973

Closed
@a74nh

Description

@a74nh

ConditionalSelect is used to mask an API. For methods that reduce down to a scalar value (eg all the Across methods), this would be done via:

a = Sve.AddAcross(Sve.ConditionalSelect(mask, a, zero));

Currently this will produce an SEL instruction to select the correct entries. Then will feed this into an
SADDV (or UADDV) that uses an all-true mask.

Instead, the SEL needs merging into the SADDV to produce a single SADDV instruction using the mask.

See #101770 for history.

Metadata

Metadata

Labels

Priority:2Work that is important, but not critical for the releasearea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIarm-sveWork related to arm64 SVE/SVE2 supportin-prThere is an active PR which will close this issue when it is merged

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions