http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46198
Uros Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID --- Comment #1 from Uros Bizjak <ubizjak at gmail dot com> 2010-10-27 18:00:13 UTC --- This is all what TARGET_INTER_UNIT_MOVES is for. On AMD (and generic) targets, TARGET_INTER_UNIT_MOVES is disabled, for -march=core2 is enabled. The situation is thus totally under control ;) I recommend that you read [1], especially: Part 2: Optimizing subroutines in assembly language: An optimization guide for x86 platforms Part 3: The microarchitecture of Intel, AMD and VIA CPUs: An optimization guide for assembly programmers and compiler makers Part 4: Instruction tables: Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel, AMD and VIA CPUs [1] http://www.agner.org/optimize/