The GPL says:
The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
It is
very easy for the output of a compiler to be a work based on the compiler under copyright law. For a trivial example, it could just insert a copyrighted poem into the final work. For a more realistic example, suppose that it inserted a section of code that tested the type of CPU and dynamically turned on/off specific optimizations or workarounds.
The result is that there are specific kinds of optimizations that the GCC maintainers will not even consider because they would make the output of GCC a derivative work of GCC and trigger the GPL.
Personally I wish that they added them anyways and had a compiler switch that you could use to turn them on. On my Debian system, I don't mind if all of the GPLed utilities are compiled in a way that makes them faster but derivative works of GCC.
Cheers,
Ben