delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/01/18/18:52:20

From: Hans-Bernhard Broeker <broeker AT acp3bf DOT physik DOT rwth-aachen DOT de>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: AMD assembly language
Date: 18 Jan 2000 13:27:40 GMT
Organization: Aachen University of Technology (RWTH)
Lines: 44
Message-ID: <861poc$k8i$1@nets3.rz.RWTH-Aachen.DE>
References: <01JKT1KTY2XE8WY342 AT SLU DOT EDU>
NNTP-Posting-Host: acp3bf.physik.rwth-aachen.de
X-Trace: nets3.rz.RWTH-Aachen.DE 948202060 20754 137.226.32.75 (18 Jan 2000 13:27:40 GMT)
X-Complaints-To: abuse AT rwth-aachen DOT de
NNTP-Posting-Date: 18 Jan 2000 13:27:40 GMT
User-Agent: tin/1.4-19991113 ("No Labels") (UNIX) (Linux/2.0.0 (i586))
Originator: broeker@
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

GAMMELJL AT slu DOT edu wrote:
[...]
>      The first problem we dealt with was what appears to us to be
> a change in the compiler (we always use
[...]

Summing up the first three problems: *none* of them is about AMD
vs. Intel CPUs. It's the difference in compiler and assembler versions
that caught you unguarded, here.

The morale: never assume that a new version of the compiler still
accepts the same old tricks as a previous one, if those tricks are not
standardized (i.e. defined by ANSI or POSIX or similar standards for
the C programming language). In the case of C++, don't assume even
that, as there has yet to be any compiler out there that really
supports the new ANSI C++ standard to the letter, to begin with.

>      The fourth problem, which we have not overcome, is the fact
> that, after all of the above revisions, on the AMD machine the
> optimization switch -O2 does not work. With the -O2 switch on, the
> source codes compile (on both machines) with no reported errors.
> The executables run faster on the Intel machine by 30%-50%.
> But the executables crash on the AMD machine.

The *same* executables that ran on the older, 'Intel' machine? Or the
same source, compiled and run on the new, 'AMD' machine?

Your terminology is really confusing. You refer to 'Intel' vs. 'AMD'
machines, where there is really a host of other differences between
those two boxes:

Intel CPU              <--->   AMD CPU
DJGPP 2.01                     DJGPP 2.02
gcc-2.8.1 (probably)           gcc-2.95.2 (probably)
binutils-2.8.1                 binutils-2.9.1 (maybe)

At the moment, you seem to be changing at least 2, maybe four of the
ingredients of the problem at the same time, and observe a difference
in behaviour. You'll *really* have to change them one at a time, to
get a meaningful answer as to which of them is the cause of your
problems.
-- 
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019