summaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-04 04:06:38 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-04 04:06:38 +0000
commitf2cc13dca29bdf300dc4a2c521f591902e9a3637 (patch)
tree746fbf6770987cdd4f33bdefab1d56212eff1733 /gcc/doc
parentfabbeb08bc3466ada44ba1837a9785f47fee25fd (diff)
downloadgcc-f2cc13dca29bdf300dc4a2c521f591902e9a3637.tar.gz
* config/alpha/alpha.c (reg_or_const_int_operand): New.
(some_operand, input_operand): Accept CONST_VECTOR. (alpha_extra_constraint): Add 'W'. (alpha_expand_zap_mask): New. (alpha_expand_builtin_vector_binop): New. (enum alpha_builtin): New. (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New. (alpha_init_builtins, alpha_expand_builtin): New. (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New. * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New. (PREDICATE_CODES): Update. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP, UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New. (movv8qi, movv8qi_fix, movv8qi_nofix): New. (movv4hi, movv4hi_fix, movv4hi_nofix): New. (movv2si, movv2si_fix, movv2si_nofix): New. (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New. (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New. (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap, builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask, builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8, builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8, builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb, pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl, builtin_unpkbw, unpkbw): New. * doc/extend.texi (Alpha Built-in Functions): New. * gcc.dg/alpha-base-1.c, gcc.dg/alpha-base-2.c: New. * gcc.dg/alpha-max-1.c, gcc.dg/alpha-max-2.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54229 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/extend.texi42
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 4b8d496c64e..88786e4b144 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -4754,10 +4754,52 @@ to those machines. Generally these generate calls to specific machine
instructions, but allow the compiler to schedule those calls.
@menu
+* Alpha Built-in Functions::
* X86 Built-in Functions::
* PowerPC AltiVec Built-in Functions::
@end menu
+@node Alpha Built-in Functions
+@subsection Alpha Built-in Functions
+
+These built-in functions are available for the Alpha family of
+processors, depending on the command-line switches used.
+
+The following built-in functions are always available. They
+all generate the machine instruction that is part of the name.
+
+@example
+long __builtin_alpha_implver (void)
+long __builtin_alpha_rpcc (void)
+long __builtin_alpha_amask (long)
+long __builtin_alpha_cmpbge (long, long)
+long __builtin_alpha_extql (long, long)
+long __builtin_alpha_extqh (long, long)
+long __builtin_alpha_zap (long, long)
+long __builtin_alpha_zapnot (long, long)
+@end example
+
+The following built-in functions are always with @option{-mmax}
+or @option{-mcpu=@var{cpu}} where @var{cpu} is @code{pca56} or
+later. They all generate the machine instruction that is part
+of the name.
+
+@example
+long __builtin_alpha_pklb (long)
+long __builtin_alpha_pkwb (long)
+long __builtin_alpha_unpkbl (long)
+long __builtin_alpha_unpkbw (long)
+long __builtin_alpha_minub8 (long, long)
+long __builtin_alpha_minsb8 (long, long)
+long __builtin_alpha_minuw4 (long, long)
+long __builtin_alpha_minsw4 (long, long)
+long __builtin_alpha_maxub8 (long, long)
+long __builtin_alpha_maxsb8 (long, long)
+long __builtin_alpha_maxuw4 (long, long)
+long __builtin_alpha_maxsw4 (long, long)
+long __builtin_alpha_perr (long, long)
+@end example
+
@node X86 Built-in Functions
@subsection X86 Built-in Functions