Why is the x87

By: Tzvetan Mikov (tmikov.delete@this.gmail.com), June 8, 2006 7:18 pm
Room: Moderated Discussions
It seems that the x87 FPU is universally accepted as "bad", but I haven't seen a good explanation why. Is it because it is ugly architecturally, or because it is slow ? If it is the latter - is it impossible to design fast hardware or impractical to write fast software ?

My limited experience with writing (trivial) x87 assembler code about 10 years ago was quite painless. I had to rewrite several simple FP routines in assembler to speed them up and, if memory serves me, I got at least 2x (perhaps more) speedup compared to code generated by Borland C. The stack made coding simple FP expressions trivial and it was also possible to use it as a kind of regular register storage since you could access ST0-7 directly. My speedup was mostly from keeping a couple of variables used in a loop inside the FP stack.

So, what is the problem ? Is it the non-standard 80-bit format (I doubt it), or is it that the instruction set isn't sufficiently orthogonal, or that the FP stack (or something else) creates insurmountable serialization restrictions ? Are there fundamental reasons why the FP stack can't use register renaming and etc ?

 Next Post in Thread >
TopicPosted ByDate
Why is the x87 Tzvetan Mikov06/08/06 07:18 PM
  Should be: Why is the x87 slow ? (NT)Tzvetan Mikov06/08/06 07:19 PM
  Why is the x87 Linus Torvalds06/08/06 08:56 PM
    Why is the x87 Tzvetan Mikov06/09/06 10:04 AM
      Why is the x87 Linus Torvalds06/09/06 01:00 PM
  Why is the x87 Michael S06/09/06 02:01 AM
    Why is the x87 Tzvetan Mikov06/09/06 12:34 PM
      Why is the x87 Linus Torvalds06/09/06 01:05 PM
        Why is the x87 Tzvetan Mikov06/09/06 06:34 PM
          Why is the x87 Michael S06/10/06 08:54 AM
            Why is the x87 Tzvetan Mikov06/10/06 11:41 AM
              Why is the x87 Linus Torvalds06/10/06 12:28 PM
                Why is the x87 Tzvetan Mikov06/10/06 02:00 PM
                  Why is the x87 Rob Thorpe06/12/06 12:03 AM
                    Why is the x87 Tzvetan Mikov06/12/06 09:38 AM
                      Why is the x87 Rob Thorpe06/13/06 01:29 AM
                        Why is the x87 Tzvetan Mikov06/13/06 10:42 AM
                          Why is the x87 Rob Thorpe06/14/06 12:36 AM
                Why is the x87 john evans06/10/06 08:56 PM
                  Why is the x87 rwessel06/10/06 11:49 PM
                    Why is the x87 Michael S06/11/06 02:04 AM
                    Why is the x87 Rob Thorpe06/11/06 11:46 PM
                      Why is the x87 rwessel06/12/06 12:12 AM
                        Why is the x87 Linus Torvalds06/12/06 07:53 AM
                          Why is the x87 rwessel06/12/06 07:27 PM
                          StacksRob Thorpe06/13/06 01:36 AM
                            Stacksrwessel06/13/06 01:32 PM
              Why is the x87 Michael S06/10/06 12:59 PM
                Why is the x87 Tzvetan Mikov06/10/06 02:04 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell blue?