This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/5] i386: Optimize for Jump Conditional Code Erratum


On 2019-11-12, H.J. Lu wrote:
Microcode update for Jump Conditional Code Erratum may cause performance
loss for some workloads:

https://www.intel.com/content/www/us/en/support/articles/000055650.html

Here is the set of assembler patches to mitigate performance impact by
aligning branches within 32-byte boundary.  The impacted instructions
are:

So, a few questions.

1. Without the assembler mitigation, what is the performance hit with and
 without the microcode update?
2. What is the code size increase of this assembler mitigation?
3. Why is the jcc+fused+jmp set suggested? (-mbranches-within-32B-boundaries)
 What is the performance and code size impact with this set compared
 with the full set? Among "jcc+fused+call+jmp+ret+indirect", which one
 gives the largest hit?
4. Shall we default to -mbranches-within-32B-boundaries if the specified
  -march= or -mtune= may be affected by the erratum?
5. Do we need to increase the section alignment (sh_addralign)?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]