diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2022-01-19 11:29:07 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2022-01-19 11:29:33 +0000 |
commit | 6eb8fc924485facd911b49370f53ab93728b2935 (patch) | |
tree | abf3b12b45d9420d86f861b9a442aad38489a468 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h | |
parent | 42a68215a1291981d0f7d32c397eb64fd1ff0b11 (diff) | |
download | llvm-6eb8fc924485facd911b49370f53ab93728b2935.zip llvm-6eb8fc924485facd911b49370f53ab93728b2935.tar.gz llvm-6eb8fc924485facd911b49370f53ab93728b2935.tar.bz2 |
[X86] Add some missing dependency-breaking zero idiom patterns to scheduler models
Many of the x86 scheduler models are not accounting for their microarch's ability to handle dependency-breaking zero idioms (pxor xmm0,xmm0 etc.), which is causing some notable differences when comparing llvm-mca reports to iaca, uops.info etc.
These are based on the Intel AoMs and Agner's docs which list the instructions handled on each cpu model - there may be more, although tbh the xor/pxor/xorps/xorpd are by far the most commonly encountered.
Once this is in place we also need to review missing support for 'allones' idioms and reg-reg move elimination, but this needs fixing first.
@lebedev.ri The Barcelona test changes are due to the cpu still being tagged as using the SandyBridge model, if/when you get back to D63628 these will need to be addressed.
Based on an original patch by @andreadb (Andrea Di Biagio)
Differential Revision: https://reviews.llvm.org/D117497
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h')
0 files changed, 0 insertions, 0 deletions