* doc/md.texi (Machine Constraints): Add PDP-11 constraints.
authorPaul Koning <ni1d@arrl.net>
Thu, 4 Nov 2010 21:17:00 +0000 (17:17 -0400)
committerPaul Koning <pkoning@gcc.gnu.org>
Thu, 4 Nov 2010 21:17:00 +0000 (17:17 -0400)
From-SVN: r166335

gcc/ChangeLog
gcc/doc/md.texi

index b47d9e24a96139e23435c3fe0e0b23156f29972e..54b448bbffdd11445a26d9414028f9ebc85a579a 100644 (file)
@@ -1,3 +1,7 @@
+2010-11-04  Paul Koning  <ni1d@arrl.net>
+
+       * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
+       
 2010-11-04  Paul Koning  <ni1d@arrl.net>
 
        * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
index 8418564d91c483dffdd116309c318ff0c7ea323b..c9eb05309b3572d2a80f9ca471072c5a9e1b259f 100644 (file)
@@ -2921,6 +2921,55 @@ A constant in the range of 0 to @minus{}255.
 
 @end table
 
+@item PDP-11---@file{config/pdp11/constraints.md}
+@table @code
+@item a
+Floating point registers AC0 through AC3.  These can be loaded from/to
+memory with a single instruction.
+
+@item d
+Odd numbered general registers (R1, R3, R5).  These are used for 16
+bit multiply operations.
+
+@item f
+Any of the floating point registers (AC0 through AC5).
+
+@item G
+Floating point constant 0.
+
+@item I
+An integer constant that fits in 16 bits.
+
+@item J
+An integer constant whose low order 16 bits are zero.
+
+@item K
+An integer constant that does not meet the constraints for codes
+@samp{I} or @samp{J}.
+
+@item L
+The integer constant 1.
+
+@item M
+The integer constant -1.
+
+@item N
+The integer constant 0.
+
+@item O
+Integer constants -4 through -1 and 1 through 4; shifts by these
+amounts are handled as multiple single-bit shifts rather than a single
+variable-length shift.
+
+@item Q
+A memory reference which requires an additional word (address or
+offset) after the opcode.
+
+@item R
+A memory reference that is encoded within the opcode.
+
+@end table
+
 @item RX---@file{config/rx/constraints.md}
 @table @code
 @item Q