Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Brian Hurt <bhurt@spnz.org>
To: "Brandon J. Van Every" <vanevery@indiegamedesign.com>
Cc: caml <caml-list@inria.fr>
Subject: Re: [Caml-list] tail recursion and register poor Intel architecture
Date: Thu, 8 Jul 2004 16:35:20 -0500 (CDT)	[thread overview]
Message-ID: <Pine.LNX.4.44.0407081622160.4202-100000@localhost.localdomain> (raw)
In-Reply-To: <OOEALCJCKEBJBIJHCNJDOEOMHEAB.vanevery@indiegamedesign.com>

On Thu, 8 Jul 2004, Brandon J. Van Every wrote:

> Or implement more of what Intel's crufty architecture actually offers.
> For instance, supporting SSE would provide 8 additional 32-bit FPU
> registers.  

If you're using the MMX/SSE[123] registers, you can not be using the x87 
registers.  In addition, to move values between these registers (or the 
x87 registers) and the normal integer registers, you have to go via 
memory- i.e. write the value out to memory and read them back in again 
into the other register.  At which point you might as well be throwing 
them on the stack.

The large print giveth, and the small print taketh away.

> One doesn't have to use use the XMM registers for vectors,
> they could be used as scalars, and that's the more straightforward
> benefit of SSE architecture.  SSE2 allows for 64-bit FPU registers and
> also integer registers, of size 32-bit and 64-bit IIRC (but I haven't
> much cared about integer code).  

SSE2 is also only available on the P4s and the Opterons/Athlon-64s (AMD is 
the current crown holder for cool code names and dorky release names, 
having taken it away from HP.  Hammers and Snakes- cool code names.  
Sempron?  Give me a break).  Those of us with older computers would like 
to keep backward compatibility.


> For the record, I hate Intel's architectures.  They were talking about
> Merced when I was writing real code on DEC Alpha.  Alpha is dead for
> marketing reasons, not technical ones.  Meanwhile, Itanium is still
> handwaving.

Yes, but now it's the desperate handwaving of people trying to flag down a 
rescue helicopter.

> 
> AMD also offers more registers on their newest chips.  I'm too fazed to
> remember the details right now; I do recall twice as many FPU registers.
> 

The new iAMD-64 architecture in 64-bit mode has 16 general purpose 
registers (of which 14 are usable as such- the stack pointer and base 
pointer are both counted as general purpose registers), and 16 fp
registers (usable as both x87 and MMX/SSE[123] registers).

-- 
"Usenet is like a herd of performing elephants with diarrhea -- massive,
difficult to redirect, awe-inspiring, entertaining, and a source of
mind-boggling amounts of excrement when you least expect it."
                                - Gene Spafford 
Brian

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2004-07-08 21:28 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-07  6:45 [Caml-list] Does Caml have slow arithmetics ? Diego Olivier Fernandez Pons
2004-07-07  8:14 ` Richard Jones
2004-07-07  9:13 ` Basile Starynkevitch [local]
2004-07-07 12:32   ` Diego Olivier Fernandez Pons
2004-07-07 13:00     ` Basile Starynkevitch [local]
2004-07-07 15:09       ` Olivier Pérès
2004-07-07 17:06         ` David Brown
2004-07-07 17:43           ` Olivier Pérès
2004-07-08  3:40             ` David Brown
2004-07-08 11:06               ` Olivier Pérès
2004-07-07 13:06     ` Richard Jones
2004-07-07 13:22     ` David Haguenauer
2004-07-07 15:48     ` Brian Hurt
2004-07-07 13:57   ` Evgeny Chukreev
2004-07-07 14:58     ` Xavier Leroy
2004-07-07 15:48       ` Evgeny Chukreev
2004-07-07 19:16       ` skaller
2004-07-08  3:44         ` David Brown
2004-07-08  5:50           ` skaller
2004-07-08  9:51           ` Andreas Rossberg
2004-07-08 12:03             ` Marcin 'Qrczak' Kowalczyk
2004-07-08 14:04             ` David Brown
2004-07-08 14:36               ` Luc Maranget
2004-07-08 15:11                 ` Alex Baretta
2004-07-08 15:49                   ` Luc Maranget
2004-07-09 14:06                     ` Alex Baretta
2004-07-09 16:20                       ` Markus Mottl
     [not found]                     ` <Luc.Maranget@inria.fr>
2004-07-09 17:54                       ` Norman Ramsey
2004-07-12  8:08                         ` Luc Maranget
2004-07-08 15:51                   ` Markus Mottl
2004-07-08 18:27                     ` skaller
2004-07-08 21:14                     ` [Caml-list] tail recursion and register poor Intel architecture Brandon J. Van Every
2004-07-08 21:35                       ` Brian Hurt [this message]
2004-07-08 23:01                         ` Brandon J. Van Every
2004-07-09  4:36                           ` Brian Hurt
2004-07-09  6:53                           ` Florian Hars
2004-07-09 14:44                             ` Brandon J. Van Every
2004-07-09  6:55                           ` skaller
2004-07-09 14:45                             ` Brandon J. Van Every
2004-07-09 16:09                               ` skaller
2004-07-10  9:19                                 ` [Caml-list] embedded OCaml Brandon J. Van Every
2004-07-11 23:11                                   ` Alex Baretta
2004-07-12  7:39                                     ` Brandon J. Van Every
2004-07-12 14:04                                       ` Alex Baretta
2004-07-12 18:48                                         ` Brandon J. Van Every
2004-07-12 23:22                                           ` Richard Jones
2004-07-13  6:39                                             ` Alex Baretta
2004-07-13  8:47                                               ` Brandon J. Van Every
2004-07-13  8:58                                                 ` Benjamin Geer
2004-07-13  9:47                                                   ` Brandon J. Van Every
2004-07-13  9:18                                                 ` Damien Doligez
2004-07-13  9:56                                                   ` [Caml-list] OCaml as business model Brandon J. Van Every
2004-07-13  9:59                                                     ` Richard Jones
2004-07-13 10:50                                                       ` Brandon J. Van Every
2004-07-13 11:20                                                     ` Damien Doligez
2004-07-13 12:01                                                       ` Brandon J. Van Every
2004-07-14  8:05                                                 ` [Caml-list] embedded OCaml I R T
2004-07-12 10:25                                     ` Christophe TROESTLER
2004-07-13  7:06                                       ` Alex Baretta
2004-07-08 17:12                 ` Tail calls (Was Re: [Caml-list] Does Caml have slow arithmetics ?) brogoff
2004-07-08 17:23                   ` Richard Jones
2004-07-12 17:07                   ` Xavier Leroy
2004-07-12 21:13                     ` skaller
2004-07-13  7:20                       ` Xavier Leroy
2004-07-08 15:00             ` [Caml-list] Does Caml have slow arithmetics ? Brian Hurt
2004-07-08 13:30         ` Alex Baretta
2004-07-07 21:26       ` Jon Harrop
2004-07-08  5:05         ` Jacques GARRIGUE

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=Pine.LNX.4.44.0407081622160.4202-100000@localhost.localdomain \
    --to=bhurt@spnz.org \
    --cc=caml-list@inria.fr \
    --cc=vanevery@indiegamedesign.com \
    /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