aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2014-05-28 19:30:35 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-05-28 19:30:35 +0000
commit5a7555ab101f5796bc51f9175552d7c77f79754b (patch)
tree4c82297976aa40239ce99ee19b893f74abe8b60d /gcc/doc
parentd67ff7b75deab58eaac2edccafbc55d32f60ed0d (diff)
downloadgcc-5a7555ab101f5796bc51f9175552d7c77f79754b.zip
gcc-5a7555ab101f5796bc51f9175552d7c77f79754b.tar.gz
gcc-5a7555ab101f5796bc51f9175552d7c77f79754b.tar.bz2
md.texi: Document the restrictions on the "enabled" attribute.
gcc/ * doc/md.texi: Document the restrictions on the "enabled" attribute. From-SVN: r211030
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/md.texi14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 13e34b5..3bd1c56 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -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.