From: "Ulrich Windl" <Ulrich.Windl@rz.uni-regensburg.de>
To: Jakub Jelinek <jakub@redhat.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: i386: gcc & asm(): wrong constraint for "mull"
Date: Fri, 29 Dec 2000 11:30:53 +0100 [thread overview]
Message-ID: <3A4C75E2.16376.2867C7@localhost> (raw)
In-Reply-To: <20001229051730.K1120@devserv.devel.redhat.com>
In-Reply-To: <3A4C6D64.17348.73812@localhost>; from Ulrich.Windl@rz.uni-regensburg.de on Fri, Dec 29, 2000 at 10:54:38AM +0100
On 29 Dec 2000, at 5:17, Jakub Jelinek wrote:
> On Fri, Dec 29, 2000 at 10:54:38AM +0100, Ulrich Windl wrote:
> > Hello,
> >
> > I noticed (with some inspiration from Andy Kleen) that some asm()
> > instructions for the ia32 use the "g" constraint for "mull", where my
> > Intel 386 Assembly Language Manual suggests the "MUL" instruction needs
> > an r/m operand. So I guess the correct constraint is "rm" in gcc, and
> > not "g". That change identical assembly output for gcc-2.95.2, but some
> > gcc-2.96.x will try a multiplication with an immediate (constant)
> > operand for the "g" constarint, and the as will choke on that.
> > (Redhat 7.0 ships such a version of gcc).
>
> gcc 2.95.2 md.texi sais:
> @cindex @samp{g} in constraint
> @item @samp{g}
> Any register, memory or immediate integer operand is allowed, except for
> registers that are not general registers.
>
> (2.95.2 was chosen to make it clear it is not something new in gcc).
> That means gcc is really free to choose which of register, memory or
> immediate it puts in and the fact that some gcc version choose one and
> others choose other is perfectly correct.
> Fix the constraints and be happy (at least during the upcoming millenium) :)
Oh, if it wasn't clear: It's what I wanted to say. As I don't have a
patch ready for that, maybe start at arch/i386/kernel/time.c; there are
at least two of these "mull" instructions.
Ulrich
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
prev parent reply other threads:[~2000-12-29 11:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-12-29 9:54 i386: gcc & asm(): wrong constraint for "mull" Ulrich Windl
2000-12-29 10:17 ` Jakub Jelinek
2000-12-29 10:30 ` Ulrich Windl [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3A4C75E2.16376.2867C7@localhost \
--to=ulrich.windl@rz.uni-regensburg.de \
--cc=jakub@redhat.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox