This is an archive of the discontinued LLVM Phabricator instance.

Revert "[AMDGPU] Enable code selection using `s_mul_hi_u32`/`s_mul_hi_i32`."
ClosedPublic

Authored by kzhuravl on May 3 2019, 12:30 PM.

Details

Summary

It introduces performance regressions in several applications.

Diff Detail

Event Timeline

kzhuravl created this revision.May 3 2019, 12:30 PM
rampitec added inline comments.May 3 2019, 12:35 PM
lib/Target/AMDGPU/SIInstrInfo.cpp
3341 ↗(On Diff #198063)

I think you may inhibit the pattern, but there must be a way to move it to VALU.

Should not revert to fix performance problems. A proper fix should be found

Reverting this would also hide / complicate another issue I’m working on

rampitec added inline comments.May 8 2019, 2:59 PM
lib/Target/AMDGPU/SIInstrInfo.cpp
3341 ↗(On Diff #198063)

I mean just retain getVALUOp() changes, you only need to revert patterns.

kzhuravl updated this revision to Diff 199091.May 10 2019, 2:54 PM
kzhuravl marked 2 inline comments as done.

Address review feedback.

Should not revert to fix performance problems. A proper fix should be found

There are several time sensitive applications which are affected. If no objections, I will file a ticket to re-instate the patterns once I get time to investigate why they are causing perf regresssions.

This revision is now accepted and ready to land.May 10 2019, 2:59 PM
rampitec added inline comments.May 13 2019, 3:02 PM
lib/Target/AMDGPU/SOPInstructions.td
561

Actually it is still isCommutable, even if you drop the pattern.

rampitec added inline comments.May 13 2019, 3:13 PM
lib/Target/AMDGPU/SOPInstructions.td
561

But I think it's OK to restore it later while working on the regression.

hliao accepted this revision.May 28 2019, 2:09 PM