This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][DAGCombiner] fold instruction EON from ISD::XOR
AbandonedPublic

Authored by bcl5980 on Dec 8 2022, 12:55 AM.

Details

Summary

This patch add a new target ISD AArch64ISD::SEON to represent scalar version instruction eon.
And select the ISD in the stage combine from this pattern:
((X & Z) ^ Y) ^ Z --> eon Y, (X | ~Z)

Diff Detail

Event Timeline

bcl5980 created this revision.Dec 8 2022, 12:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 8 2022, 12:55 AM
bcl5980 requested review of this revision.Dec 8 2022, 12:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 8 2022, 12:55 AM
bcl5980 updated this revision to Diff 481534.Dec 9 2022, 12:17 AM

rebase code

bcl5980 updated this revision to Diff 481547.Dec 9 2022, 1:05 AM
bcl5980 edited the summary of this revision. (Show Details)

needn't limit one of the op to constant.

bcl5980 abandoned this revision.Jan 5 2023, 10:58 PM