[PATCH 0/5] i386: Optimize for Jump Conditional Code Erratum
H.J. Lu
hjl.tools@gmail.com
Tue Dec 3 19:17:00 GMT 2019
On Tue, Dec 3, 2019 at 11:02 AM H.J. Lu <hjl.tools@gmail.com> 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:
>
> a. Conditional jump.
> b. Fused conditional jump.
> c. Unconditional jump.
> d. Call.
> e. Ret.
> f. Indirect jump and call.
>
> The new -mbranches-within-32B-boundaries command-line option aligns
> conditional jump, fused conditional jump and unconditional jump within
> 32-byte boundary.
>
> md_cons_worker, which allows a backend to track hard-coded opcodes in
> instruction stream, and md_generic_table_relax_frag, which allows a
> backend to extend relax_frag, are added to implement this new feature.
>
> H.J. Lu (5):
> gas: Add md_cons_worker
> gas: Add md_generic_table_relax_frag
> i386: Align branches within a fixed boundary
> i386: Add -mbranches-within-32B-boundaries
> i386: Add tests for -malign-branch-boundary and -malign-branch
>
Please ignore this one.
--
H.J.
More information about the Binutils
mailing list