This is an archive of the discontinued LLVM Phabricator instance.

[X86][BtVer2] Update latency of horizontal operations.
ClosedPublic

Authored by andreadb on Jan 16 2019, 3:51 AM.

Details

Summary

On Jaguar, horizontal adds/subs have local forwarding disable.
That means, we pay a compulsory extra cycle of write-back stage, and the value is not available until the end of that stage.

This patch changes the latency of horizontal operations by adding an extra cycle. With this patch, latency numbers now match what is reported by perf.

I plan to send another patch to also 'fix' the latency of shuffle operations (on Jaguar, local forwarding is disabled for vector shuffles too).

Diff Detail

Repository
rL LLVM

Event Timeline

andreadb created this revision.Jan 16 2019, 3:51 AM
andreadb updated this revision to Diff 182015.Jan 16 2019, 5:28 AM

Added comments.

andreadb updated this revision to Diff 182023.Jan 16 2019, 5:50 AM

Patch updated.

I moved the comment about the +1cy latency at the top of the tablegen file.
I then added a simpler +1cy latency comment on each modified line.

Hopefully this is more readable.

RKSimon accepted this revision.Jan 16 2019, 9:16 AM

LGTM - this also matches what exegesis reports

This revision is now accepted and ready to land.Jan 16 2019, 9:16 AM
This revision was automatically updated to reflect the committed changes.