Dirac, GCC-4.0.0 and SIMD optimisations on x86 architecture

Anuradha Suraparaju anuradha@rd.bbc.co.uk
Wed May 4 16:44:00 GMT 2005


I've attached a sample file to this email. The class defined in the cpp
file is a cut down and modfied version of the class used in Dirac.

I compiled it using the following options:
g++ -mmmx -g -O3  test_mmx_diff4.cpp


The run time comparison is attached to this email as well.

Hope this helps.

Regards
A. Suraparaju

On Tue, 2005-05-03 at 16:29 -0700, James E Wilson wrote:
> Anuradha Suraparaju wrote:
> > My question is how do I report this as a bug? What information do I
> > need to provide in the bug report? Did anybody else face similar
> > problems with GCC-4.0.0 and MMX-enabled programs.
> 
> See
>      http://gcc.gnu.org/bugs.html
> for info on reporting bugs.
> 
> If you can narrow this down to a small testcase, then you are more 
> likely to get a solution from us.  If you want us compile the entire 
> Dirac project and take a look, we probably won't bother.
> 
> There have been changes to the MMX support in gcc, but without specific 
> details about your testcase, it is hard to say anything definite.  For 
> instance, we don't know what the Dirac --enable-mmx option does.  Which 
> specific gcc options does it enable?
> 
> What about SSE?  The SSE support is generally preferred over the older 
> MMX support.  Does Dirac make any use of this?  If not, perhaps it should.
-- 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_mmx_diff4.cpp
Type: text/x-c++src
Size: 2626 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20050504/089478f8/attachment.bin>
-------------- next part --------------
Compile line
g++ -mmmx -g -O3  test_mmx_diff4.cpp

Tests conducted using gcc3.4.3 and gcc 4.0.1 20050503 (prerelease)


1. AMD Dual Opteron Processor, Suse 9.2 (32 bit)

Results:

    gcc-3.4.3          gcc-4.0.1 20050503 (prerelease)

    real 1.25          real 2.87
    user 1.24          user 2.87
    sys 0.00           sys 0.00


2. Intel Dual Xeon 3.0 GHz, Suse 9.2 64 bit

Results:

    gcc-3.4.3          gcc-4.0.0

    real 1.09          real 1.58
    user 1.09          user 1.54
    sys 0.00           sys 0.00

3. Pentium 4 2.66GHz, Suse 9.2

Results:

    gcc3.3 20030226    gcc-4.0.0

    real 1.35          real 4.98
    user 1.32          user 4.96
    sys 0.00           sys 0.00


gcc-4.0.0 performed worse than gcc-3.3.3 or gcc3.4.3 even for this simple 
program. The test results using Dirac were similar to this.


More information about the Gcc mailing list