]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
md.texi: Document the restrictions on the "enabled" attribute.
authorRichard Sandiford <rdsandiford@googlemail.com>
Wed, 28 May 2014 19:30:35 +0000 (19:30 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 28 May 2014 19:30:35 +0000 (19:30 +0000)
gcc/
* doc/md.texi: Document the restrictions on the "enabled" attribute.

From-SVN: r211030

gcc/ChangeLog
gcc/doc/md.texi

index 4b1d567efd0f85ac1ca4b18372a6c431c8bd65a1..11c3103c323aac3719672cb8039a741014bb8281 100644 (file)
@@ -1,3 +1,7 @@
+2014-05-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * doc/md.texi: Document the restrictions on the "enabled" attribute.
+
 2014-05-28  Jason Merrill  <jason@redhat.com>
 
        PR c++/47202
index 13e34b5e2a9435f1620f311d65651afff1744f06..3bd1c564d927dc5bc74f6279efa131e2c86c905f 100644 (file)
@@ -4094,11 +4094,11 @@ Unsigned constant valid for BccUI instructions
 @subsection Disable insn alternatives using the @code{enabled} attribute
 @cindex enabled
 
-The @code{enabled} insn attribute may be used to disable certain insn
-alternatives for machine-specific reasons.  This is useful when adding
-new instructions to an existing pattern which are only available for
-certain cpu architecture levels as specified with the @code{-march=}
-option.
+The @code{enabled} insn attribute may be used to disable insn
+alternatives that are not available for the current subtarget.
+This is useful when adding new instructions to an existing pattern
+which are only available for certain cpu architecture levels as
+specified with the @code{-march=} option.
 
 If an insn alternative is disabled, then it will never be used.  The
 compiler treats the constraints for the disabled alternative as
@@ -4112,6 +4112,10 @@ in the machine description files:
 A definition of the @code{enabled} insn attribute.  The attribute is
 defined as usual using the @code{define_attr} command.  This
 definition should be based on other insn attributes and/or target flags.
+The attribute must be a static property of the subtarget; that is, it
+must not depend on the current operands or any other dynamic context
+(for example, the location of the insn within the body of a loop).
+
 The @code{enabled} attribute is a numeric attribute and should evaluate to
 @code{(const_int 1)} for an enabled alternative and to
 @code{(const_int 0)} otherwise.