Skip to content

Use cmeq, cmge, cmgt (zero) when one of the operands is Vector64/128<T>.Zero #33972

Closed
@echesakov

Description

@echesakov

For example,

The code as in #33749 (comment) BitArray:.ctor

dup     v17.16b, wzr
cmeq    v16.16b, v16.16b, v17.16b

should be optimized down to

cmeq    v16.16b, v16.16b, #0

This applies to all the intrinsics that are mapped to cmeq, cmge, cmgt, cmle, cmlt, fcmeq, fcmge, fcmgt, fcmle and fcmlt instructions

category:cq
theme:hardware-intrinsics
skill-level:intermediate
cost:small

Metadata

Metadata

Assignees

Labels

Priority:3Work that is nice to havearch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIoptimization

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions