This is an archive of the discontinued LLVM Phabricator instance.

[X86] Add tests for replacing `{v}unpck{l|h}pd` -> `{v}shufps`; NFC
ClosedPublic

Authored by goldstein.w.n on Feb 20 2023, 6:09 PM.

Diff Detail

Event Timeline

goldstein.w.n created this revision.Feb 20 2023, 6:09 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 20 2023, 6:09 PM
Herald added a subscriber: pengfei. · View Herald Transcript
goldstein.w.n requested review of this revision.Feb 20 2023, 6:09 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 20 2023, 6:09 PM

We might want to consider a naming convention to accommodate future cpu-tuning tests - how about tuning-shuffle-unpckpd.ll?

llvm/test/CodeGen/X86/unpckpd-to-faster-alternative.ll
43 ↗(On Diff #499024)

Cleanup?

We might want to consider a naming convention to accommodate future cpu-tuning tests - how about tuning-shuffle-unpckpd.ll?

Agreed, changed in v2.

llvm/test/CodeGen/X86/unpckpd-to-faster-alternative.ll
43 ↗(On Diff #499024)

What do you mean? Thats the output from

/home/noah/programs/opensource/llvm-dev/src/llvm-project/llvm/utils/update_llc_test_checks.py --llc-binary /home/noah/programs/opensource/llvm-dev/src/llvm-project/build/bin/llc /home/noah/programs/opensource/llvm-dev/src/llvm-project/llvm/test/CodeGen/X86/unpckpd-to-faster-alternative.ll

What command should I use?

RKSimon added inline comments.Feb 22 2023, 4:00 AM
llvm/test/CodeGen/X86/tuning-shuffle-unpckpd.ll
46

These will need to be manually editted out and then the update script called to regenerate

RKSimon requested changes to this revision.Feb 22 2023, 2:53 PM
RKSimon added inline comments.
llvm/test/CodeGen/X86/tuning-shuffle-unpckpd.ll
46

Still broken :(

This revision now requires changes to proceed.Feb 22 2023, 2:53 PM
goldstein.w.n marked an inline comment as done.Feb 22 2023, 5:42 PM
goldstein.w.n added inline comments.
llvm/test/CodeGen/X86/tuning-shuffle-unpckpd.ll
46

Bah sorry, didn't see your comment this morning. Fixed.

goldstein.w.n marked an inline comment as done.

Cleanup checks

RKSimon accepted this revision.Feb 23 2023, 5:52 PM

LGTM - cheers

This revision is now accepted and ready to land.Feb 23 2023, 5:52 PM

Make tests complete

RKSimon requested changes to this revision.Feb 26 2023, 4:10 AM

Similar to D144779 - we should probably split the avx512 cases off and add evex-vex testing - whatever we decide we should try to keep to the same style for all these tuning-shuffle-* files.

This revision now requires changes to proceed.Feb 26 2023, 4:10 AM

Also, this should block D144570 and not D144779/D144570 - ideally we're going to want D144570 to be in trunk for a few days before any follow ups to shake out any unexpected regressions to prevent a nasty long chain of reversions, which is why I'm so keen to get accepted patches in early instead of you stacking them all up.

Also, this should block D144570 and not D144779/D144570 - ideally we're going to want D144570 to be in trunk for a few days before any follow ups to shake out any unexpected regressions to prevent a nasty long chain of reversions, which is why I'm so keen to get accepted patches in early instead of you stacking them all up.

Hmm? You repeat D144570 for block/non-block.

D143786 -> D143859 -> D144779 -> D143787 -> D144442 -> D144570 seems like the order to me. We can wait after D143787 or D144570. Whichever you prefer.

Split avx/avx512 tests

RKSimon added inline comments.Feb 26 2023, 1:55 PM
llvm/test/CodeGen/X86/tuning-shuffle-unpckpd.ll
24

Drop the 512-bit vector test cases - they should be handled by the -avx512.ll file

Removed avx512 tests for avx file

goldstein.w.n marked an inline comment as done.Feb 26 2023, 2:54 PM
RKSimon accepted this revision.Feb 27 2023, 7:51 AM

LGTM

This revision is now accepted and ready to land.Feb 27 2023, 7:51 AM

Rebase (after D144832, no dep on D143786)

This revision was landed with ongoing or failed builds.Feb 27 2023, 4:54 PM
This revision was automatically updated to reflect the committed changes.