9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Charles Forsyth <forsyth@terzarima.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Current status of amd64 port?
Date: Fri, 16 Nov 2007 15:53:22 +0000	[thread overview]
Message-ID: <aa930a38d6a2c234d0efdd84b9fdcad9@terzarima.net> (raw)
In-Reply-To: <3e1162e60711160733p152bbbd5qbf29e1d52de650f4@mail.gmail.com>

> PPC's a different animal, using 32bit instructions even when in a
> "64bit mode" (doesn't really have modes), some immediate memory loads
> can use up to 5 instructions in assembly... I didn't look much deeper
> than that.

there can be a 64-bit vs 32-bit mode on powerpc64, but it's a `bridge' mode
that is just there to be nice to lazy system writers, and might go away.

once 64-bit mode is on, most arithmetic operations become 64 bit (the same codes that were 32-bit in 32 bit mode).
there are a few exceptions (for instance, multiply and divide have both 64 and 32-bit variants).
64-bit load and store are also available, and there are some new fancy 64-bit versions of rotate mask/insert.

the main difference with amd64 is that large constants (including large static addresses)
must be generated in-line by several instructions (typically 16 bits at a time),
or loaded from a literal pool (which might need an address calculation because the offsets are limited to +/-32k).
that's true even for 32-bit values in 32 bit mode, but because of the larger register size,
different instruction sequences are needed.

i think amd64 has a choice of putting a 32-bit value in-line with sign extension to
64 bits, or giving a full 64-bit value in-line.  i'm surprised that would make a big difference.
possibly the memory subsystem on amd64 is better than the ppc64 you were using.
ppc64 on a memory subsystem designed for ppc32 could be sad.


  parent reply	other threads:[~2007-11-16 15:53 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-15 22:51 Anthony Sorace
2007-11-15 22:56 ` Uriel
2007-11-16  6:14   ` ron minnich
2007-11-15 23:14 ` Tharaneedharan Vilwanathan
2007-11-15 23:39   ` erik quanstrom
2007-11-16  0:10     ` Tharaneedharan Vilwanathan
2007-11-16  0:18     ` Anthony Sorace
2007-11-16  7:57     ` Robert William Fuller
2007-11-16 10:05       ` erik quanstrom
2007-11-16 10:20         ` Charles Forsyth
2007-11-16 22:38         ` ron minnich
2007-11-16 22:46           ` Tharaneedharan Vilwanathan
2007-11-16 23:20             ` erik quanstrom
2007-11-16 23:19           ` erik quanstrom
2007-11-16 23:40             ` Charles Forsyth
2007-11-16 23:38               ` ron minnich
2007-11-16 23:56                 ` Charles Forsyth
2007-11-16 23:54                   ` erik quanstrom
2007-11-17  0:14                     ` ron minnich
2007-11-17  0:23                       ` Charles Forsyth
2007-11-17  0:30                         ` ron minnich
2007-11-17  0:33                           ` erik quanstrom
2007-11-17  1:08                           ` Charles Forsyth
2007-11-17  6:38                             ` Geoffrey Avila
2007-11-16 14:41     ` David Leimbach
2007-11-16 14:46       ` erik quanstrom
2007-11-16 15:33         ` Wilhelm B. Kloke
2007-11-16 15:33         ` David Leimbach
2007-11-16 15:35           ` David Leimbach
2007-11-16 15:53           ` Charles Forsyth [this message]
2007-11-16 16:21             ` David Leimbach
2007-11-16  0:11 Joshua Wood
2007-11-16 14:43 ` David Leimbach
     [not found] <20071116170014.595B2108A1@mail.cse.psu.edu>
2007-11-16 23:10 ` Joshua Wood

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=aa930a38d6a2c234d0efdd84b9fdcad9@terzarima.net \
    --to=forsyth@terzarima.net \
    --cc=9fans@cse.psu.edu \
    /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;
as well as URLs for NNTP newsgroup(s).