~Stack~ | 1 Feb 03:57 2012
Picon

Cross compiling for the 1750A

Hello.

I have been presented an interesting challenge from someone who is
trying to work with some very specialized equipment. He is attempting to
migrate off a bunch of legacy equipment hosted with Windows and onto a
Red Hat based platform where we can update much of this bulky legacy
code. I am trying to help out where I can. The current sticky bit is the
fact that we need a C compiler for the 1750A microprocessor.

In our research we have found many many many dead ends. We did discover
a source download for a Windows gcc version that we were able to
successfully compile and run the binary exe's under Wine. While it works
as a proof-of-concept, it is really slow and unsuitable for our needs.

We decided that if we were to have any hope of getting this to work, we
should use the tools that were available at the latest support release.
So for the time being, we are working on a CentOS 2 install with the gcc
3.1 source file. We have overcome many of the obstacles but the latest
roadblock is simply over our heads at the moment and we are not finding
much online. I have pasted the make error at the end of the email. I
don't expect someone to solve our problems from it, but hopefully it
helps to see part of the issue we have run into.

I can go into more details as to what we have done but I first thought
it worth asking if there are any GCC Guru's out there who might be able
to help us out with the 1750A. Is there anyone who might be able to help
us get this cross compile working? Or maybe know someone that might be
able to help us?

Thank you!
(Continue reading)

Andrew Haley | 1 Feb 11:29 2012
Picon

Re: Cross compiling for the 1750A

On 02/01/2012 02:57 AM, ~Stack~ wrote:
> I have pasted the make error at the end of the email. I
> don't expect someone to solve our problems from it, but hopefully it
> helps to see part of the issue we have run into.

You're using the wrong assembler.  That's your system's
assembler program, not the 1750A assembler.  You need to
run that gcc command with -v which will who you what gcc
is calling.  You then need to make sure that the assembler
in gcc's path is the 1750A version.

Andrew.

~Stack~ | 1 Feb 13:37 2012
Picon

Re: Cross compiling for the 1750A

On 02/01/2012 04:29 AM, Andrew Haley wrote:
> On 02/01/2012 02:57 AM, ~Stack~ wrote:
>> I have pasted the make error at the end of the email. I
>> don't expect someone to solve our problems from it, but hopefully it
>> helps to see part of the issue we have run into.
> 
> You're using the wrong assembler.  That's your system's
> assembler program, not the 1750A assembler.  You need to
> run that gcc command with -v which will who you what gcc
> is calling.  You then need to make sure that the assembler
> in gcc's path is the 1750A version.

Thank you for the reply.

I take it then that the assembler isn't provided with the gcc 3.1
download. I was hoping that the gcc tarball would be all inclusive.

Any idea where I might be able to obtain a 1750 assembler then?

Thank you for your help!
~Stack~

Andrew Haley | 1 Feb 13:54 2012
Picon

Re: Cross compiling for the 1750A

On 02/01/2012 12:37 PM, ~Stack~ wrote:
> On 02/01/2012 04:29 AM, Andrew Haley wrote:
>> On 02/01/2012 02:57 AM, ~Stack~ wrote:
>>> I have pasted the make error at the end of the email. I
>>> don't expect someone to solve our problems from it, but hopefully it
>>> helps to see part of the issue we have run into.
>>
>> You're using the wrong assembler.  That's your system's
>> assembler program, not the 1750A assembler.  You need to
>> run that gcc command with -v which will who you what gcc
>> is calling.  You then need to make sure that the assembler
>> in gcc's path is the 1750A version.
> 
> Thank you for the reply.
> 
> I take it then that the assembler isn't provided with the gcc 3.1
> download. I was hoping that the gcc tarball would be all inclusive.
> 
> Any idea where I might be able to obtain a 1750 assembler then?

In your Windows binary there must be an assembler.  With that
assembler, if it is GNU, must be instructions where to get the
source code.  So, what does that assembler say about -v or
-version?  The same question applies to the linker.

Andrew.

david.hagood | 1 Feb 17:28 2012
Picon

Re: The sound of exceptions whooshing by....

I've tracked my problem down to something strange with the assembler -
it's generating what the ARM ABI calls the "ARM-defined compact model"
exception tables in the .ARM.extab section. However, to the best of my
ability to check, the assembler that doesn't work is the same as the
assembler that does (I have some coworkers who do NOT see this issue, but
their assemblers have the same md5sum as mine....)

If nobody can suggest something I'll go pester the binutils group....

tomsen_san | 1 Feb 22:11 2012
Picon
Picon

gcc 4.6.1 fpmath options produce unexpected results


Hi there,
I am running some numerical benchmarking on Ubuntu 11.10 with gcc 4.6.1 on
an Athlon XP (Barton).
I noticed that -O3 -march=athlon-xp -mfpmath=sse|both  produces results
twice as fast for double-precision FP-ops as  -O3 -march=athlon-xp
-mfpmath=387.
I looked at the assembly code and found the reason to be inefficient code in
the latter case. 
For a CPU that does not support SSE2 and above this result is slightly
disconcerting as this makes selecting the correct options for producing fast
code hard. I documented this here: 
http://mandelperformance.blogspot.com/2012/01/magic-gcc-options.html
http://mandelperformance.blogspot.com/2012/01/magic-gcc-options.html  
It would be nice if someone commented the fact that the SSE option produces
perfect 387 code while the 387 option does not  :-)

best regards

-tomsen 
--

-- 
View this message in context: http://old.nabble.com/gcc-4.6.1-fpmath-options-produce-unexpected-results-tp33245187p33245187.html
Sent from the gcc - Help mailing list archive at Nabble.com.

Martin Millnert | 1 Feb 23:53 2012
Picon

Sandy Bridge-specific double load ports optimization

Hi gcc-help,

I have a question regarding an optimization example for the Sandy Bridge
march.

In the Intel 64 and IA-32 Architectures Optimization Reference Manual
[1] on page 183, sec 3.6.1.2, there is a piece about optimizing L1D
cache latency w.r.t utilizing the double load ports.

In example 3-32, assembly from Intel's compiler is shown.

I'm trying to reproduce this with Debian Wheezy's packaged gcc (gcc
version 4.6.2 (Debian 4.6.2-12)).
I get assembly which is very similar, but it's not taking advantage of
the double load ports.  Is there any way to turn this on in my gcc
version, or is it not implemented yet?

Code, b.c:
#define BUFF_SIZE 1024

int main() {

  int buff[BUFF_SIZE];
  int sum = 0;
  int i;

  for(i = 0; i < BUFF_SIZE; i++) {
    sum+=buff[i];
  }
  return sum;
(Continue reading)

~Stack~ | 2 Feb 02:04 2012
Picon

Re: Cross compiling for the 1750A

On 02/01/2012 06:54 AM, Andrew Haley wrote:
> On 02/01/2012 12:37 PM, ~Stack~ wrote:
>> On 02/01/2012 04:29 AM, Andrew Haley wrote:
>>> On 02/01/2012 02:57 AM, ~Stack~ wrote:
>>>> I have pasted the make error at the end of the email. I
>>>> don't expect someone to solve our problems from it, but hopefully it
>>>> helps to see part of the issue we have run into.
>>>
>>> You're using the wrong assembler.  That's your system's
>>> assembler program, not the 1750A assembler.  You need to
>>> run that gcc command with -v which will who you what gcc
>>> is calling.  You then need to make sure that the assembler
>>> in gcc's path is the 1750A version.
>>
>> Thank you for the reply.
>>
>> I take it then that the assembler isn't provided with the gcc 3.1
>> download. I was hoping that the gcc tarball would be all inclusive.
>>
>> Any idea where I might be able to obtain a 1750 assembler then?
> 
> In your Windows binary there must be an assembler.  With that
> assembler, if it is GNU, must be instructions where to get the
> source code.  So, what does that assembler say about -v or
> -version?  The same question applies to the linker.

When I run the gcc command manually with the -v flag I get mostly the
same output with the additional:
gcc version 3.1.1
GNU CPP version 3.1.1 (cpplib) (MIL-STD-1750A)
(Continue reading)

Andrew Haley | 2 Feb 10:47 2012
Picon

Re: Cross compiling for the 1750A

On 02/02/2012 01:04 AM, ~Stack~ wrote:
> On 02/01/2012 06:54 AM, Andrew Haley wrote:
>> On 02/01/2012 12:37 PM, ~Stack~ wrote:
>>> On 02/01/2012 04:29 AM, Andrew Haley wrote:
>>>> On 02/01/2012 02:57 AM, ~Stack~ wrote:
>>>>> I have pasted the make error at the end of the email. I
>>>>> don't expect someone to solve our problems from it, but hopefully it
>>>>> helps to see part of the issue we have run into.
>>>>
>>>> You're using the wrong assembler.  That's your system's
>>>> assembler program, not the 1750A assembler.  You need to
>>>> run that gcc command with -v which will who you what gcc
>>>> is calling.  You then need to make sure that the assembler
>>>> in gcc's path is the 1750A version.
>>>
>>> Thank you for the reply.
>>>
>>> I take it then that the assembler isn't provided with the gcc 3.1
>>> download. I was hoping that the gcc tarball would be all inclusive.
>>>
>>> Any idea where I might be able to obtain a 1750 assembler then?
>>
>> In your Windows binary there must be an assembler.  With that
>> assembler, if it is GNU, must be instructions where to get the
>> source code.  So, what does that assembler say about -v or
>> -version?  The same question applies to the linker.
> 
> When I run the gcc command manually with the -v flag I get mostly the
> same output with the additional:
> gcc version 3.1.1
(Continue reading)

Andrew Haley | 2 Feb 11:07 2012
Picon

Re: Cross compiling for the 1750A

On 02/02/2012 09:47 AM, Andrew Haley wrote:
> On 02/02/2012 01:04 AM, ~Stack~ wrote:
>> On 02/01/2012 06:54 AM, Andrew Haley wrote:
>>> On 02/01/2012 12:37 PM, ~Stack~ wrote:
>>>> On 02/01/2012 04:29 AM, Andrew Haley wrote:
>>>>> On 02/01/2012 02:57 AM, ~Stack~ wrote:
>>>>>> I have pasted the make error at the end of the email. I
>>>>>> don't expect someone to solve our problems from it, but hopefully it
>>>>>> helps to see part of the issue we have run into.
>>>>>
>>>>> You're using the wrong assembler.  That's your system's
>>>>> assembler program, not the 1750A assembler.  You need to
>>>>> run that gcc command with -v which will who you what gcc
>>>>> is calling.  You then need to make sure that the assembler
>>>>> in gcc's path is the 1750A version.
>>>>
>>>> Thank you for the reply.
>>>>
>>>> I take it then that the assembler isn't provided with the gcc 3.1
>>>> download. I was hoping that the gcc tarball would be all inclusive.
>>>>
>>>> Any idea where I might be able to obtain a 1750 assembler then?
>>>
>>> In your Windows binary there must be an assembler.  With that
>>> assembler, if it is GNU, must be instructions where to get the
>>> source code.  So, what does that assembler say about -v or
>>> -version?  The same question applies to the linker.
>>
>> When I run the gcc command manually with the -v flag I get mostly the
>> same output with the additional:
(Continue reading)


Gmane