GCC instruction scheduling: how do the algorithms differ?
GCC offers a number of options related to instruction scheduling in the compiler flags. An overview of what this means is on the GCC Wiki for “Instruction Scheduling”, but this is well out of date (last updated in 2008). I understand the general idea: allow the compiler to re-order instructions to avoid stalls / achieve better CPU resource usage. The details on the knobs to control this are severely lacking and highly technical, though.