Subject: gcc improvements
To: Netbsd pc532 list <port-pc532@NetBSD.ORG>
From: Ian Dall <Ian.Dall@dsto.defence.gov.au>
List: port-pc532
Date: 07/16/1997 11:25:03
I have been working on gcc in several areas:

 o add -m32381 option and make it the default for the pc532

    - support extra registers

    - support multiply add instructions polyf and dotf

 o put function return values of type __complex__ float or __complex__ double
   in floating point registers

 o much better in line block copy support. Currentl a byte by byte move is
   used.

This all works although I am still tweaking it a bit. There are still
some suboptimal register allocation, and some opportunities for using
the multiply add instructions are missed for reasons I don't
understand.

I had to define SMALL_REGISTER_CLASSES or sometimes I get fatal errors
"unable to find spill register" on some code when the multiply add
instructions are used. The doco says that this can result in worse
code if it is not needed, but I haven't noticed any examples yet.

I have done this on gcc 2.7.2.1 from FSF. I recall that someone did
some work for gcc to make it handle 64 bit types better. Has that made
it into the FSF distribution or should I get it from the netbsd source
tree?

Ian