aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/BinaryStreamError.cpp
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2018-08-31 16:05:48 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2018-08-31 16:05:48 +0000
commita59ec4efa02c6b50ce3dd8248a2f93efedb1aeb3 (patch)
tree7ac221f8659c71c6b95f144be78c7adb0bbed636 /llvm/lib/Support/BinaryStreamError.cpp
parent3785e84cf2cdafb7c7adb0aabe896795acaee6e4 (diff)
downloadllvm-a59ec4efa02c6b50ce3dd8248a2f93efedb1aeb3.zip
llvm-a59ec4efa02c6b50ce3dd8248a2f93efedb1aeb3.tar.gz
llvm-a59ec4efa02c6b50ce3dd8248a2f93efedb1aeb3.tar.bz2
[X86][BtVer2] Remove wrong ReadAdvance from AVX vbroadcast(ss|sd|f128) instructions.
The presence of a ReadAdvance for input operand #0 is problematic because it changes the input latency of the register used as the base address for the folded load. A broadcast cannot start executing if the load address hasn't been computed yet. In the llvm-mca example, the VBROADCASTSS is dependent on the address generated by the LEAQ. That means, it cannot start until LEAQ reaches the write-back stage. If we apply ReadAdvance, then we wrongly assume that the load can start 3 cycles in advance. Differential Revision: https://reviews.llvm.org/D51534 llvm-svn: 341222
Diffstat (limited to 'llvm/lib/Support/BinaryStreamError.cpp')
0 files changed, 0 insertions, 0 deletions