This is an archive of the discontinued LLVM Phabricator instance.

[X86][TTI] Finish costmodel for AVX512BW's VPMOVM2[BW] / VPMOV[BW]2M instructions
ClosedPublic

Authored by lebedev.ri on Nov 21 2021, 5:17 AM.

Details

Summary

Apparently my methodology was suboptimal, and not only did miss all the +VL tuples,
i also missed some plain tuples. I believe, this adds everything missing.
Indeed, these manual costmodels are just not okay long-term.

Diff Detail

Event Timeline

lebedev.ri created this revision.Nov 21 2021, 5:17 AM

I repeat my self. Having the agenda in a diff is suboptimal. Maybe a document in the repo?

I repeat my self. Having the agenda in a diff is suboptimal. Maybe a document in the repo?

In these patches i'm not inventing this suboptimal approach, but merely following the current standard practice, so i'm a little unsure about this sudden negativity.
There are several bugs in bugzilla about that, e.g. https://bugs.llvm.org/show_bug.cgi?id=32325 https://bugs.llvm.org/show_bug.cgi?id=35784 https://bugs.llvm.org/show_bug.cgi?id=36550

RKSimon accepted this revision.Nov 22 2021, 3:18 AM

LGTM - this is inline with the existing approach we've had in X86 for many years that is explained at the top of the file - maintain a 'worst case' cost for each ISA level

This revision is now accepted and ready to land.Nov 22 2021, 3:18 AM

LGTM - this is inline with the existing approach we've had in X86 for many years that is explained at the top of the file - maintain a 'worst case' cost for each ISA level

Thank you for the review! I should have caught this +VL thing sooner :/

This revision was landed with ongoing or failed builds.Nov 22 2021, 3:40 AM
This revision was automatically updated to reflect the committed changes.