public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Rask Ingemann Lambertsen <rask@sygehus.dk>
To: gcc-patches@gcc.gnu.org
Subject: [PATCH 6/9] Documentation for the ia16 back end
Date: Mon, 30 Jul 2007 19:08:00 -0000	[thread overview]
Message-ID: <20070730184938.GQ25795@sygehus.dk> (raw)
In-Reply-To: <20070730134217.GK25795@sygehus.dk>

   This patch updates the documentation. I checked with "make info", "make
dvi" and by viewing the resulting DVI files that it causes no obvious
problems.

2007-07-30  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	* doc/md.texi: Update for new ia16 back end.
	* doc/invoke.texi: Likewise.
	* doc/contrib.texi: Likewise.
	* doc/install.texi: Likewise.

Index: gcc/doc/invoke.texi
===================================================================
--- gcc/doc/invoke.texi	(revision 127048)
+++ gcc/doc/invoke.texi	(working copy)
@@ -560,6 +560,9 @@
 -mcmodel=@var{code-model} @gol
 -m32  -m64 -mlarge-data-threshold=@var{num}}
 
+@emph{IA-16 Options}
+@gccoptlist{-mtune=@var{cpu-type}  -march=@var{cpu-type} -mshort-jumps}
+
 @emph{IA-64 Options}
 @gccoptlist{-mbig-endian  -mlittle-endian  -mgnu-as  -mgnu-ld  -mno-pic @gol
 -mvolatile-asm-stop  -mregister-names  -mno-sdata @gol
@@ -7997,6 +8000,7 @@
 * H8/300 Options::
 * HPPA Options::
 * i386 and x86-64 Options::
+* IA-16 Options::
 * IA-64 Options::
 * M32C Options::
 * M32R/D Options::
@@ -10517,6 +10521,65 @@
 about addresses and sizes of sections.
 @end table
 
+@node IA-16 Options
+@subsection IA-16 Options
+@cindex IA-16 Options
+
+These are the @samp{-m} options defined for the Intel IA-16 architecture.
+
+@table @gcctabopt
+@item -mtune=@var{cpu-type}
+@opindex mtune
+Tune to @var{cpu-type} everything applicable about the generated code, except
+for the ABI and the set of available instructions.  The choices for
+@var{cpu-type} are:
+@table @emph
+@item i8086
+The Intel 8086.
+
+@item i8088
+The Intel 8088.
+
+@item i8086
+The Intel 8086.
+
+@item i80186
+The Intel 80186.
+
+@item i80286
+The Intel 80286.
+
+@item v20
+The NEC V20.
+
+@item v30
+The NEC V30.
+
+@item any
+Any CPU listed above.  The aim is to generate code which runs reasonably
+well on any CPU listed above.
+
+@item any_186
+As with @option{-mtune=any}, but assume a CPU which supports immediate
+operands for push, imul and shift/rotate instructions.
+@end table
+
+@item -march=@var{cpu-type}
+@opindex march
+Generate instructions for the machine type @var{cpu-type}.  The choices
+for @var{cpu-type} are the same as for @option{-mtune}.  Moreover,
+specifying @option{-march=@var{cpu-type}} implies @option{-mtune=@var{cpu-type}}.
+
+@item -mshort-jumps
+@itemx -mno-short-jumps
+@opindex mshort-jumps
+@opindex mno-short-jumps
+Allow (or disallow) the use of jump instructions which can only jump
+@minus{}128/+127 bytes.  The default is not to use them.  This option only
+affects instructions for which the assembler doesn't provide a work-around
+and the compiler doesn't know the jump displacement.
+@end table
+
 @node IA-64 Options
 @subsection IA-64 Options
 @cindex IA-64 Options
Index: gcc/doc/contrib.texi
===================================================================
--- gcc/doc/contrib.texi	(revision 127048)
+++ gcc/doc/contrib.texi	(working copy)
@@ -476,6 +476,9 @@
 68020 system.
 
 @item
+Rask Ingemann Lambertsen contributed the 16-bit Intel x86 back end.
+
+@item
 Asher Langton and Mike Kumbera for contributing Cray pointer support
 to GNU Fortran, and for other GNU Fortran improvements.
 
Index: gcc/doc/md.texi
===================================================================
--- gcc/doc/md.texi	(revision 127048)
+++ gcc/doc/md.texi	(working copy)
@@ -1,5 +1,5 @@
 @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1996, 1998, 1999, 2000, 2001,
-@c 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 @c This is part of the GCC manual.
 @c For copying conditions, see the file gcc.texi.
 
@@ -2083,6 +2083,120 @@
 
 @end table
 
+@item Intel IA-16---@file{config/ia16/constraints.md}
+@table @code
+@item a
+The @code{ax} register.
+
+@item b
+The @code{bx} register.
+
+@item c
+The @code{cx} register.
+
+@item d
+The @code{dx} register.
+
+@item S
+The @code{si} register.
+
+@item D
+The @code{di} register.
+
+@item Ral
+The @code{al} register.
+
+@item Rah
+The @code{ah} register.
+
+@item Rcl
+The @code{cl} register.
+
+@item Rbp
+The @code{bp} register.
+
+@item q
+Any 8-bit register.
+
+@item T
+Any general or segment register.
+
+@item A
+The @code{dx:ax} register pair.
+
+@item j
+The @code{bx:dx} register pair.
+
+@item l
+The lower half of pairs of 8-bit registers.
+
+@item u
+The upper half of pairs of 8-bit registers.
+
+@item k
+Any 32-bit register group with access to the two lower bytes.
+
+@item x
+The @code{si} and @code{di} registers.
+
+@item w
+The @code{bx} and @code{bp} registers.
+
+@item B
+The @code{bx}, @code{si}, @code{di} and @code{bp} registers.
+
+@item Q
+Any segment register.
+
+@item Z
+The constant 0.
+
+@item P1
+The constant 1.
+
+@item M1
+The constant @minus{}1.
+
+@item Um
+The constant @minus{}256.
+
+@item Lbm
+The constant 255.
+
+@item Lor
+Constants 128 @dots{} 254.
+
+@item Lom
+Constants 1 @dots{} 254.
+
+@item Lar
+Constants @minus{}255 @dots{} @minus{}129.
+
+@item Lam
+Constants @minus{}255 @dots{} @minus{}2.
+
+@item Uo
+Constants 0xXX00 except @minus{}256.
+
+@item Ua
+Constants 0xXXFF.
+
+@item Ish
+A constant usable as a shift count.
+
+@item Iaa
+A constant multiplier for the @code{aad} instruction.
+
+@item Ipu
+A constant usable with the @code{push} instruction.
+
+@item Imu
+A constant usable with the @code{imul} instruction except 257.
+
+@item I11
+The constant 257.
+@end table
+
 @item Intel IA-64---@file{config/ia64/ia64.h}
 @table @code
 @item a
Index: gcc/doc/install.texi
===================================================================
--- gcc/doc/install.texi	(revision 127048)
+++ gcc/doc/install.texi	(working copy)
@@ -2451,6 +2451,8 @@
 @item
 @uref{#ix86-x-udk,,i?86-*-udk}
 @item
+@uref{#ia16-x-elf,,ia16-*-elf}
+@item
 @uref{#ia64-x-linux,,ia64-*-linux}
 @item
 @uref{#ia64-x-hpux,,ia64-*-hpux*}
@@ -3266,6 +3268,17 @@
 @html
 <hr />
 @end html
+@heading @anchor{ia16-x-elf}ia16-*-elf
+Intel 16-bit x86 processor configuration for embedded systems.
+
+There is no binutils configuration for this target, but binutils
+configurations for @samp{i?86} ELF systems can be used.  Binutils
+releases from around 2001 or later can be used.
+
+
+@html
+<hr />
+@end html
 @heading @anchor{ia64-x-linux}ia64-*-linux
 IA-64 processor (also known as IPF, or Itanium Processor Family)
 running GNU/Linux.

-- 
Rask Ingemann Lambertsen

  parent reply	other threads:[~2007-07-30 18:49 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-30 14:37 [PATCH 0/9] New back end ia16: 16-bit Intel x86 Rask Ingemann Lambertsen
2007-07-30 14:56 ` [PATCH 1/9] New target " Rask Ingemann Lambertsen
2007-07-30 15:08 ` [PATCH 2/9] Fix reloads_unique_chain_p() missing a conflict Rask Ingemann Lambertsen
2007-08-10  8:47   ` PING " Rask Ingemann Lambertsen
2007-08-21 11:23   ` ping^2 " Rask Ingemann Lambertsen
2007-08-30  8:28   ` ping^3 [PATCH] " Rask Ingemann Lambertsen
2007-07-30 16:10 ` [PATCH 3/9] reload_reg_free(): Rask Ingemann Lambertsen
2007-08-10  8:49   ` PING [PATCH 3/9] reload_reg_free(): don't clobber inherited registers Rask Ingemann Lambertsen
2007-08-21 11:24   ` ping^2 " Rask Ingemann Lambertsen
2007-08-30  8:50   ` ping^3 [PATCH] " Rask Ingemann Lambertsen
2007-07-30 16:35 ` [PATCH 4/9] Subreg handling in reload_inner_reg_of_subreg() and push_reload() Rask Ingemann Lambertsen
2007-08-10  8:49   ` PING " Rask Ingemann Lambertsen
2007-08-21 11:29   ` ping^2 " Rask Ingemann Lambertsen
2007-08-30  8:50   ` ping^3 [PATCH] " Rask Ingemann Lambertsen
2007-07-30 17:22 ` [PATCH 5/9] Libgcc bits and the back end itself Rask Ingemann Lambertsen
2007-07-30 19:08 ` Rask Ingemann Lambertsen [this message]
2007-08-11 19:01   ` [PATCH 6/9] Documentation for the ia16 back end Joseph S. Myers
2007-07-30 19:10 ` [PATCH 7/9][wwwdocs] Mention ia16 in backends.html Rask Ingemann Lambertsen
2007-07-30 22:48   ` Gerald Pfeifer
2007-07-30 19:36 ` [PATCH 8/9] Vectorizer testsuite fixes Rask Ingemann Lambertsen
2007-07-30 20:40   ` Janis Johnson
2007-07-30 20:08 ` [PATCH 9/9] Skip or xfail some tests on ia16 Rask Ingemann Lambertsen
2007-07-30 20:51   ` Janis Johnson
2007-08-09 20:28 ` [PATCH 0/9] New back end ia16: 16-bit Intel x86 Rask Ingemann Lambertsen

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=20070730184938.GQ25795@sygehus.dk \
    --to=rask@sygehus.dk \
    --cc=gcc-patches@gcc.gnu.org \
    /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 read-only IMAP folder(s) and NNTP newsgroup(s).