llvm/llvm-project

[AArch64] Add SimplifyDemandedVectorEltsForTargetNode support for AArch64ISD::DUPLANE nodes

开放

#87,497 创建于 2024年4月3日

 (13 条评论) (0 个反应) (1 位负责人)C++ (10,782 个派生)batch import
backend:AArch64good first issue

仓库指标

星标
 (26,378 个星标)
PR 合并指标
 (平均合并 1天 2小时) (30 天内合并 1,000 个 PR)

描述

Noticed on #86284 - aarch64 is missing SimplifyDemandedVectorElts handling to/from AArch64ISD::DUPLANE nodes

  • Extend performDUPCombine to call SimplifyDemandedVectorElts from AArch64ISD::DUPLANE nodes as we only demand that one lane element.
  • Add AArch64TargetLowering::SimplifyDemandedVectorEltsForTargetNode to handle AArch64ISD::DUPLANE nodes (and AArch64ISD::DUP?) - if we only demand the dup lane index we might be able to remove the node entirely.
  • The hadd-combine.ll tests might be enough, but we could require some additional test coverage.

贡献者指南