diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2014-05-28 19:30:35 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-05-28 19:30:35 +0000 |
commit | 5a7555ab101f5796bc51f9175552d7c77f79754b (patch) | |
tree | 4c82297976aa40239ce99ee19b893f74abe8b60d /gcc/doc | |
parent | d67ff7b75deab58eaac2edccafbc55d32f60ed0d (diff) | |
download | gcc-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.texi | 14 |
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. |