This is an archive of the discontinued LLVM Phabricator instance.

[X86] Add tests for BMI patterns across non-adjacent and assosiative instructions.
ClosedPublic

Authored by goldstein.w.n on Jan 6 2023, 7:40 PM.

Details

Summary

I.e for blsi match (and (sub 0, x), x) but we currently miss valid
patterns like (and (and (sub 0, x), y), x).

Diff Detail

Event Timeline

goldstein.w.n created this revision.Jan 6 2023, 7:40 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 6 2023, 7:40 PM
Herald added a subscriber: pengfei. · View Herald Transcript
goldstein.w.n requested review of this revision.Jan 6 2023, 7:40 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 6 2023, 7:40 PM

Can you add a description of what "indirect" means in this context?

Update commit message to be more clear

goldstein.w.n retitled this revision from [X86] Add tests for indirect BMI patterns to [X86] Add tests for BMI patterns across non-adjacent and assosiative instructions..Jan 12 2023, 11:47 AM
goldstein.w.n edited the summary of this revision. (Show Details)

Can you add a description of what "indirect" means in this context?

Done.

pengfei accepted this revision.Jan 13 2023, 5:08 AM

LGTM except for a nit.

llvm/test/CodeGen/X86/bmi-out-of-order.ll
6–8

These are not necessary. You can just remove them.

This revision is now accepted and ready to land.Jan 13 2023, 5:08 AM
goldstein.w.n marked an inline comment as done.
goldstein.w.n edited the summary of this revision. (Show Details)

Remove unneeded meta data

LGTM except for a nit.

Fixed nit, will wait 24 hrs to push.

This revision was landed with ongoing or failed builds.Jan 16 2023, 10:09 PM
This revision was automatically updated to reflect the committed changes.