www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/23/05:23:13

Date: Sun, 22 Mar 1998 21:54:35 -0800 (PST)
Message-Id: <199803230554.VAA24614@adit.ap.net>
Mime-Version: 1.0
To: jasonp AT Glue DOT umd DOT edu (Jason Stratos Papadopoulos), djgpp AT delorie DOT com
From: Nate Eldredge <eldredge AT ap DOT net>
Subject: Re: is this an inline asm bug?

At 08:43  3/22/1998 GMT, Jason Stratos Papadopoulos wrote:
>Hello. In the course of writing some high-speed modular multiplication
>I came across this problem with gcc's inline assembly.
>
>The full code is too lengthy to post, but I have some inline assembly
>for which eax is on the clobber list. More specifically, the function
>it's in looks like this:
[deleted]
>Why is gcc using eax to address memory when I specifically put it on
>the clobber list?! This has actually happened once or twice before, the
>only way around it is to use all the register names directly, rather than
>leave it up to the compiler.
>
>Is this a bug?

I think this is a bug, especially since the documentation says:

"The input operands are guaranteed not to use any of the clobbered registers..."

Upgrade to version 2.8.0 if possible, and if it does not go away, report it.
The GCC docs say how to do this; however, I think the address has changed to
`bug-gcc AT gnu DOT org'.

I think I saw something like this once before, but it was with ebp instead.
I figured that was pathological, and didn't worry about it.

Nate Eldredge
eldredge AT ap DOT net



- Raw text -


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