This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patch for PR target/20632


On Apr 1, 2005, at 03:06, David Mosberger wrote:
More curiously, I found a handful of bundles containing only NOPs.
For example:

00 00 00 00 01 00       [MII]       nop.m 0x0
a0 02 ae 3e 29 00                   shr.u r42=r43,32
00 00 04 00                         nop.i 0x0
0f 00 00 00 01 00       [MMF]       nop.m 0x0
00 00 00 02 00 00                   nop.m 0x0
00 00 04 00                         nop.f 0x0;;

Is there a good reason to emit such a NOP-only bundle?

This is a direct result of GCC's new tree-ssa optimizers performing
load- and store elimination and advanced strengh-reduction on your
code. In combination with the new DFA scheduler's just-in-time scheduling,
which prevents executing any instructions until absolutely necessary,
this allows drastic code simplification.


Instead of executing complex instructions, such a memory loads and
stores that may take many cycles to complete, the processor now only
needs to execute these much simplified instructions. Taking advantage
of the explicit parallelism in the code, the current Itanium-2 processors
are capable of executing up to 6 of these instructions in one cycle,
thereby fully realizing the promises of Intel's EPIC architecture by
computing absolutely nothing at unprecedented speeds.


-Geert


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]