aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2011-06-09 23:32:32 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2011-06-09 23:32:32 +0000
commit6049a4c8fb26a12b6195169e1a7ec3fb2ff860d4 (patch)
tree3f5d585cd04b64f871cc6b63f9c30cdb0ad48244 /gcc/doc
parent1f9081d15d2bfd28a5951d87f6e6f3fb254cdbdd (diff)
downloadgcc-6049a4c8fb26a12b6195169e1a7ec3fb2ff860d4.zip
gcc-6049a4c8fb26a12b6195169e1a7ec3fb2ff860d4.tar.gz
gcc-6049a4c8fb26a12b6195169e1a7ec3fb2ff860d4.tar.bz2
tm.texi.in (Register Classes): Document rule for the narrowest register classes.
* doc/tm.texi.in (Register Classes): Document rule for the narrowest register classes. * doc/tm.texi: Regenerate. From-SVN: r174866
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/tm.texi6
-rw-r--r--gcc/doc/tm.texi.in6
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index ebc876f..b32ff89 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -2337,6 +2337,12 @@ constraints is through machine-dependent operand constraint letters.
You can define such letters to correspond to various classes, then use
them in operand constraints.
+You must define the narrowest register classes for allocatable
+registers, so that each class either has no subclasses, or that for
+some mode, the move cost between registers within the class is
+cheaper than moving a register in the class to or from memory
+(@pxref{Costs}).
+
You should define a class for the union of two classes whenever some
instruction allows both classes. For example, if an instruction allows
either a floating point (coprocessor) register or a general register for a
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index 85fcfb1..667b1ef 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -2327,6 +2327,12 @@ constraints is through machine-dependent operand constraint letters.
You can define such letters to correspond to various classes, then use
them in operand constraints.
+You must define the narrowest register classes for allocatable
+registers, so that each class either has no subclasses, or that for
+some mode, the move cost between registers within the class is
+cheaper than moving a register in the class to or from memory
+(@pxref{Costs}).
+
You should define a class for the union of two classes whenever some
instruction allows both classes. For example, if an instruction allows
either a floating point (coprocessor) register or a general register for a