- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello friends ,
After a lot of observation , i am pretty much sure that icc compiler is faster than the GCC compiler.
It must be because of some default optimizations used by icc or the assembler its using. I want to
know what assembler / assembly language icc (and GCC) uses & which default optimizations make it faster than GCC.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When icc uses an assembler, it is the same one used by the active gcc. icc doesn't even use all the features of gnu as which gcc does. The answer to the rest of your question depends on your application, which versions of gcc and icc, and which options are passed to them. Do you mean which optimizations, or which optimizaiton option groups?
icc defaults are mostly more aggressive than gcc defaults. For example, 'icc -ansi_alias' resembles 'gcc -O3 -ffast-math -fno-cx-limited-range -funroll-loops'. For gcc-4.2 you would add -ftree-vectorize, an option which isn't available in old versions of gcc. Even when you set 'icc -fp-model source -ansi_alias -fno-inline-functions', you frequently get more aggressive optimization than 'gcc -O2 -ftree-vectorize -funroll-loops'. As you have done "a lot of observation" (presumably including finding the documentation), you should already have the answers.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When icc uses an assembler, it is the same one used by the active gcc. icc doesn't even use all the features of gnu as which gcc does. The answer to the rest of your question depends on your application, which versions of gcc and icc, and which options are passed to them. Do you mean which optimizations, or which optimizaiton option groups?
icc defaults are mostly more aggressive than gcc defaults. For example, 'icc -ansi_alias' resembles 'gcc -O3 -ffast-math -fno-cx-limited-range -funroll-loops'. For gcc-4.2 you would add -ftree-vectorize, an option which isn't available in old versions of gcc. Even when you set 'icc -fp-model source -ansi_alias -fno-inline-functions', you frequently get more aggressive optimization than 'gcc -O2 -ftree-vectorize -funroll-loops'. As you have done "a lot of observation" (presumably including finding the documentation), you should already have the answers.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page