From: Hans-Bernhard Broeker 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.