<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/test/tools/llvm-mca/X86/BdVer2, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-10-10T14:46:21+00:00</updated>
<entry>
<title>[MCA] Show aggregate over Average Wait times for the whole snippet (PR43219)</title>
<updated>2019-10-10T14:46:21+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2019-10-10T14:46:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a5e65c1cf793b36836d0939574488a2f9530ea85'/>
<id>urn:sha1:a5e65c1cf793b36836d0939574488a2f9530ea85</id>
<content type='text'>
Summary:
As disscused in https://bugs.llvm.org/show_bug.cgi?id=43219,
i believe it may be somewhat useful to show //some// aggregates
over all the sea of statistics provided.

Example:
```
Average Wait times (based on the timeline view):
[0]: Executions
[1]: Average time spent waiting in a scheduler's queue
[2]: Average time spent waiting in a scheduler's queue while ready
[3]: Average time elapsed from WB until retire stage

      [0]    [1]    [2]    [3]
0.     3     1.0    1.0    4.7       vmulps     %xmm0, %xmm1, %xmm2
1.     3     2.7    0.0    2.3       vhaddps    %xmm2, %xmm2, %xmm3
2.     3     6.0    0.0    0.0       vhaddps    %xmm3, %xmm3, %xmm4
       3     3.2    0.3    2.3       &lt;total&gt;
```
I.e. we average the averages.

Reviewers: andreadb, mattd, RKSimon

Reviewed By: andreadb

Subscribers: gbedwell, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68714

llvm-svn: 374361
</content>
</entry>
<entry>
<title>[MCA][LSUnit] Track loads and stores until retirement.</title>
<updated>2019-10-08T10:46:01+00:00</updated>
<author>
<name>Andrea Di Biagio</name>
<email>Andrea_DiBiagio@sn.scee.net</email>
</author>
<published>2019-10-08T10:46:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8d6651f7b11ee3bc68d4e5523e44e987b53760bf'/>
<id>urn:sha1:8d6651f7b11ee3bc68d4e5523e44e987b53760bf</id>
<content type='text'>
Before this patch, loads and stores were only tracked by their corresponding
queues in the LSUnit from dispatch until execute stage. In practice we should be
more conservative and assume that memory opcodes leave their queues at
retirement stage.

Basically, loads should leave the load queue only when they have completed and
delivered their data. We conservatively assume that a load is completed when it
is retired. Stores should be tracked by the store queue from dispatch until
retirement. In practice, stores can only leave the store queue if their data can
be written to the data cache.

This is mostly a mechanical change. With this patch, the retire stage notifies
the LSUnit when a memory instruction is retired. That would triggers the release
of LDQ/STQ entries.  The only visible change is in memory tests for the bdver2
model. That is because bdver2 is the only model that defines the load/store
queue size.

This patch partially addresses PR39830.

Differential Revision: https://reviews.llvm.org/D68266

llvm-svn: 374034
</content>
</entry>
<entry>
<title>[MCA][X86] Add tests for LOCK variants of standard X86 arithmetic ops</title>
<updated>2019-08-20T11:13:20+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2019-08-20T11:13:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6a3dc3e15cb2c7ad42f1474f830a1a9c70e97feb'/>
<id>urn:sha1:6a3dc3e15cb2c7ad42f1474f830a1a9c70e97feb</id>
<content type='text'>
D66424 adds the base support for LOCK so we should be able to add special case support for all these cases in future patches

llvm-svn: 369367
</content>
</entry>
<entry>
<title>[X86] Move scheduling tests for CMPXCHG to the corresponding resources-x86_64.s files. NFC</title>
<updated>2019-08-19T18:20:30+00:00</updated>
<author>
<name>Andrea Di Biagio</name>
<email>Andrea_DiBiagio@sn.scee.net</email>
</author>
<published>2019-08-19T18:20:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=bf989187c30f37cfb1bb1496c06fe6047ee15202'/>
<id>urn:sha1:bf989187c30f37cfb1bb1496c06fe6047ee15202</id>
<content type='text'>
In D66424 it has been requested to move all the new tests added by r369278 into
resources-x86_64.s. That is because only the 8b/16 ops should be tested by
resources-cmpxchg.s. This partially reverts r369278.

llvm-svn: 369288
</content>
</entry>
<entry>
<title>[X86] Added extensive scheduling model tests for all the CMPXCHG variants. NFC</title>
<updated>2019-08-19T17:07:26+00:00</updated>
<author>
<name>Andrea Di Biagio</name>
<email>Andrea_DiBiagio@sn.scee.net</email>
</author>
<published>2019-08-19T17:07:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ecbaba672e18a5d321b80dbfde9f56770469fd6e'/>
<id>urn:sha1:ecbaba672e18a5d321b80dbfde9f56770469fd6e</id>
<content type='text'>
Addresses a review comment in D66424

llvm-svn: 369279
</content>
</entry>
<entry>
<title>[X86] Limit vpermil2pd/vpermil2ps immediates to 4 bits in the assembly parser.</title>
<updated>2019-08-07T05:34:27+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@intel.com</email>
</author>
<published>2019-08-07T05:34:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=29688f4da0b62e760dcd65d607aa9a56cb1557e0'/>
<id>urn:sha1:29688f4da0b62e760dcd65d607aa9a56cb1557e0</id>
<content type='text'>
The upper 4 bits of the immediate byte are used to encode a
register. We need to limit the explicit immediate to fit in the
remaining 4 bits.

Fixes PR42899.

llvm-svn: 368123
</content>
</entry>
<entry>
<title>[NFC][X86][MCA] BdVer2: add load-store-throughput test</title>
<updated>2019-06-19T08:53:28+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2019-06-19T08:53:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4358016b030b51753dca4d3cca579de3915d0d40'/>
<id>urn:sha1:4358016b030b51753dca4d3cca579de3915d0d40</id>
<content type='text'>
llvm-svn: 363774
</content>
</entry>
<entry>
<title>[X86] Add missing properties on llvm.x86.sse.{st,ld}mxcsr</title>
<updated>2019-06-19T08:44:31+00:00</updated>
<author>
<name>Clement Courbet</name>
<email>courbet@google.com</email>
</author>
<published>2019-06-19T08:44:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4ef7c2868a58a2c5236898f0d3f7d12d353435c4'/>
<id>urn:sha1:4ef7c2868a58a2c5236898f0d3f7d12d353435c4</id>
<content type='text'>
Summary:
llvm.x86.sse.stmxcsr only writes to memory.
llvm.x86.sse.ldmxcsr only reads from memory, and might generate an FPE.

Reviewers: craig.topper, RKSimon

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62896

llvm-svn: 363773
</content>
</entry>
<entry>
<title>[NFC][MCA][X86] Add one more 'clear super register' pattern - movss/movsd load clears high XMM bits</title>
<updated>2019-06-15T16:12:13+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2019-06-15T16:12:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5dd61974f94f20515436e864fc123751267f6a88'/>
<id>urn:sha1:5dd61974f94f20515436e864fc123751267f6a88</id>
<content type='text'>
llvm-svn: 363498
</content>
</entry>
<entry>
<title>[X86] AMD Piledriver (BdVer2): major cleanup (mainly inverse throughput)</title>
<updated>2019-05-09T13:54:51+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2019-05-09T13:54:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9db0e72570f73e4e8aaf870201f2c1bc738baee3'/>
<id>urn:sha1:9db0e72570f73e4e8aaf870201f2c1bc738baee3</id>
<content type='text'>
I've started this cleanup more several times now, but got sidetracked
elsewhere, e.g. by llvm-exegesis problems. Not this time, finally!

This is mainly cleaning up the inverse throughput values,
and a few latencies/uops, based on the llvm-exegesis measured values.

Though this is not complete by any means,
there's certainly more cleanup to be done.

The performance numbers (i've only checked by RawSpeed benchmark) aren't
really surprising - overall this *slightly* (&lt; -1%) improves perf.

llvm-svn: 360341
</content>
</entry>
</feed>
