DESCRIPTION: Microcode is a layer of hardware-level instructions or data structures involved in the implementation of higher level machine code instructions. It resides in special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations. Microcode is specific to a processor model. 

RELEVANCE:  Complex instructions which consist of more than a certain number of microops must enlist the help of the microcode ROM and require additional steps. Instructions with longer microop flows incure a delay in the front end and reduce the supply of microops to the execution core.


Issues like floating point assists or AVX to SSE transitions without using vzeroupper/vzeroall can cause microcode to be used.


Fixing the issues causing the floating point assists and making sure to use vzeroupper/vzeroall when doing AVX to SSE transitions can help remove microops coming out of the microcode.

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.