r1ch.net forums
* Home Help Search Login Register
r1ch.net  |  r1ch.net stuff  |  R1Q2  |  Topic: Intel's ICC
Pages: [1]
Print
Author Topic: Intel's ICC  (Read 9527 times)
Nick
Guest
« on: October 30, 2004, 07:11:49 am »

Out of interest, ages ago I used Intels ICC compiler for building my own ded server and amended Xatrix code binaries - it really does make a faster game - read my thread here:

http://forums.quakesrc.org/viewtopic.php?t=3584&highlight=icc

I have just changed r1q2 Makefile to use ICC also:

Quote

#CC=gcc
CC=icc

&

ifeq ($(ARCH),i386)
RELEASE_CFLAGS=$(BASE_CFLAGS) -O3 -pc32 -w
#RELEASE_CFLAGS=$(BASE_CFLAGS) -O6 -ffast-math -funroll-loops \
#       -fomit-frame-pointer -fexpensive-optimizations \


It builds nice, and runs great.  I will be playing tomorrow night on it (I run a private Xatrix server for friends every Sunday) - I will see how it goes.

Also I notice in the original Makefile for Linux the -O6 optimisation.  There is no such GCC optimisation, GCC uses -O -> -O3 only.  -O2 will suffice for a safe build, -O3 if you need to push it all the way.

Nick
Logged
R1CH
Administrator
Member

Posts: 2625



« Reply #1 on: October 30, 2004, 08:12:54 am »

I've had a few issues with ICC and float accuracy, in addition to it requiring several additional shared libraries which is why the official binaries are plain GCC. I do agree though, that at least for Linux, ICC wipes the floor with GCC. Thankfully under Windows, it's about equal with MSVC.

You'll find quite a few software packages use high than -O3. Some flags like -O99 turn on omit frame pointer etc. I'm not sure what the purpose of -O6 is as I didn't write the Makefile Smiley.
Logged
Nick
Member

Posts: 211


« Reply #2 on: October 30, 2004, 08:23:15 am »

I believe it must be a legacy optimisation from an old version of GCC.

Honestly, there is no such thing now - I investigated ages ago.  -O3 is max:

http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_2.html#SEC10

-O6 will make the optimisation plain old -O (i.e. it falls back to the basic).

Nick
Logged
majik
Guest
« Reply #3 on: October 30, 2004, 08:32:27 pm »

Are you sure? -- What about GCC 3.x?

May be true for 2.95.3 or such, but may be not 3.x?  *shrug*
Logged
Nick
Member

Posts: 211


« Reply #4 on: October 31, 2004, 06:25:23 am »

Yep, -O3 is the max optimisation:

http://linux.editme.com/what-does-gcc-06-do

And the latest GCC:

http://gcc.gnu.org/onlinedocs/gcc-3.4.2/gcc/Optimize-Options.html#Optimize-Options

I also tested builds:

With -O2 q2ded size 190122
With -O3 q2ded size 204677
With -O6 q2ded size 204677

So if you specify -On where n > 3, then it will build as per -O3.

Nick
Logged
Nick
Member

Posts: 211


« Reply #5 on: October 31, 2004, 03:08:38 pm »

Just played on my server with r1q2 ded and my Xatrix code built with ICC...

\o/   it is soooooooooooo fast unbelievable!!!

Great job!!

Nick
Logged
Pages: [1]
Print
r1ch.net  |  r1ch.net stuff  |  R1Q2  |  Topic: Intel's ICC
Jump to:  

Powered by SMF 1.1.19 | SMF © 2013, Simple Machines