https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089
--- Comment #52 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to Alexander Klepikov from comment #50) > But maybe there is a way to exclude particular insn from combine pass? (I > guess not). In general, it is best to let combine just work on everything. It will not replace instructions if the replacement is more expensive, and it will only ever create instruction sequences with the same semantics as what it started with. There is TARGET_LEGITIMATE_COMBINED_INSN though, which is a workaround for if you really do not want the instruction combiner to create particular instruction patterns (but it does nothing to prevent other parts of the compiler from doing the same!)