Skip to content

[DAG] SDPatternMatch - m_Zero can't see through bitcasts #140745

@RKSimon

Description

@RKSimon

X86 uses ISD::isBuildVectorAllZeros to peek through bitcasts to match zero vectors in a large number of combines.

Ideally we'd use SDPatternMatch to match these combines and use m_Zero() instead, but regrettably this fails to match the zero vectors through bitcasts,

84397c6 shows an example of the regression

If we convert m_Zero() to something closer to m_AllOnes / AllOnes_match we might be able to make this work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issuehttps://github.com/llvm/llvm-project/contributellvm:SelectionDAGSelectionDAGISel as well

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions