This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Updated new ia16 back end

   Here's an update to the ia16 back end I submitted for inclusion a month
ago. The changes:

- I removed some experimental code, most of which was disabled.
- I added the copyright notice to a few files where it was missing.
- Comparisons are not emitted until the use of the result is known. This
  allows better code to be generated.
- New slt pattern and improved seq pattern.
- New configuration ia16-*-elks which generates code for the Embeddable
  Linux Kernel Subset system. This includes support for binaries with a
  separate code segment with the only limitation that trampolines are not
  supported. Test results[2] are however not yet as good as with the
  ia16-*-elf target[1].
- Constructors and destructors are now supported, but for some reason they
  only work on the elks configuration.
- Updated for the s/ode_macro/ode_iterator/ change.


   I've decided I'm not going to merge this back end into the i386 one as
suggested by some people. I think it's too much work for too little benefit.
Those who think a merge is a good idea are of course free to do it.

   The following patches from a month ago are unchanged:

   To run tests, download these files:

 1) Create a combined tree with newlib and libgloss.
 2) Apply newlib.patch.
 3) Extract newlib.tar.gz.
 4) Find binutils for an i386 ELF system somewhere and create links to the
 binaries as ia16-unknown-elf-{as,ld,ar,ranlib,strip,nm}.
 5) Configure --target=ia16-unknown-elf and build as with any other target.
 6) For the elks target, s/-elf/-elks/g in step 4) and 5).

    Use elksemu-sim.exp when testing the ia16-*-elks target. This requires
elksemu from the dev86 package. Use unix.exp above when running the
testsuite for ia16-*-elf. Note: It needs to be called unix.exp.

:ADDPATCH target:

2007-07-30  Rask Ingemann Lambertsen  <>

	* Add support for ia16.
	* ia16/t-ia16: New.

2007-07-30  Rask Ingemann Lambertsen  <>

	* config.gcc: Add support for ia16.
	* doc/invoke.texi: Update for new ia16 back end.
	* doc/contrib.texi: Likewise.
	* doc/install.texi: Likewise.	
	* doc/md.texi: Likewise.
	* config/ia16/ New.
	* config/ia16/ New.
	* config/ia16/ia16.opt: New.
	* config/ia16/ia16.c: New.
	* config/ia16/t-ia16: New.
	* config/ia16/ia16-modes.def: New.
	* config/ia16/ New.
	* config/ia16/ New.
	* config/ia16/ia16.h: New.
	* config/ia16/ia16-protos.h: New.
	* config/ia16/elf.h: New.
	* config/ia16/elks.h: New.

Rask Ingemann Lambertsen

Attachment: ia16.patch.gz
Description: GNU Zip compressed data

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]