[PATCH] D68871: [X86][BtVer2] Improved latency and throughput of float/vector loads and stores.
Andrea Di Biagio via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 11 08:14:30 PDT 2019
andreadb created this revision.
andreadb added reviewers: RKSimon, craig.topper, lebedev.ri.
Herald added subscribers: courbet, gbedwell.
andreadb added a comment.
F10225163: exegesis-report.txt <https://reviews.llvm.org/F10225163>
Posted the output from llvm-exegesis for all the affected instructions.
This patch introduces the following changes to the btver2 scheduling model:
The number of micro opcodes for YMM loads and stores is now 2 (it was incorrectly set to 1 for both aligned and misaligned loads/stores).
Increased the number of AGU resource cycles for YMM loads and stores to 2cy (instead of 1cy).
Removed JFPU01 and JFPX from the list of resources consumed by pure float/vector loads (no MMX).
I verified with llvm-exegesis that pure XMM/YMM loads are no-pipe. They are dispatched to the FPU but not really issues on JFPU01.
https://reviews.llvm.org/D68871
Files:
lib/Target/X86/X86ScheduleBtVer2.td
test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s
test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68871.224598.patch
Type: text/x-patch
Size: 35971 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191011/0cb9c951/attachment.bin>
More information about the llvm-commits
mailing list