ultrasparc3 optimisation

2005-11-16 Thread Jason . Beech-Brandt
Hi,

I'm using gcc-4.0.1 on both a UltraSparc3 and UltraSparc3cu systems.  When
I compile code on the UltraSparc3 system using -mcpu=ultrasparc3 and run
the file command on the executable I get

hello:  ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+
Required, UltraSPARC1 Extensions Required, dynamically linked, not
stripped

so the UltraSparc3 extensions are not used.  However, when compiling on
the UltraSparc3cu system I get

hello:  ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+
Required, UltraSPARC3 Extensions Required, dynamically linked, not
stripped

where the UltraSparc3 extensions are used.

Does anybody have any idea why this might happen?  Is this expected
behaviour for the UltraSparc3 as opposed to the UltraSparc3cu?

Thanks

Jason


Re: ultrasparc3 optimisation

2005-11-16 Thread Jason . Beech-Brandt
> Hi,
>
> I'm using gcc-4.0.1 on both a UltraSparc3 and UltraSparc3cu systems.
When
> I compile code on the UltraSparc3 system using -mcpu=ultrasparc3 and run
> the file command on the executable I get
>
> hello:  ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+
> Required, UltraSPARC1 Extensions Required, dynamically linked, not
> stripped

First, this question is more suited to gcc-help mailinglist.  Second, the
switch
you want to use is -march=ultrasparc3 which changes the used
instruction-set.
-mcpu only tunes for ultrasparc3 without using instructions that are
not available
for the default cpu used.

Richard.

-

Will move discussion to gcc-help.

According to the documentation there is no -march flag for Sparc, so I
don't think it is that.  g++ -march=ultrasparc3 gives an error
"invalid option 'arch=ultrasparc3'.  Unless I'm missing something.

Jason