From: Claudiu Zissulescu Date: Thu, 6 Jul 2023 13:50:14 +0000 (+0300) Subject: arc: Update builtin documentation X-Git-Tag: basepoints/gcc-15~7775 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b74e4cabd5984b742dbe32ba246b0d618bc30dd8;p=thirdparty%2Fgcc.git arc: Update builtin documentation gcc/ChangeLog: * doc/extend.texi (ARC Built-in Functions): Update documentation with missing builtins. --- diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index d701b4d1d412..bfbc1d6cc9f8 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -15260,6 +15260,23 @@ __builtin_arc_sr() __builtin_arc_swi() @end example +The following built-in functions are available for the ARCv2 family of +processors. + +@example +int __builtin_arc_clri (); +void __builtin_arc_kflag (unsigned); +void __builtin_arc_seti (int); +@end example + +The following built-in functions are available for the ARCv2 family +and uses @option{-mnorm}. + +@example +int __builtin_arc_ffs (int); +int __builtin_arc_fls (int); +@end example + @node ARC SIMD Built-in Functions @subsection ARC SIMD Built-in Functions @@ -15486,6 +15503,44 @@ void __builtin_arc_vst16_n (__v8hi, const int, const int, const int); void __builtin_arc_vst32_n (__v8hi, const int, const int, const int); @end example +The following built-in functions are available on systems that uses +@option{-mmpy-option=6} or higher. + +@example +__v2hi __builtin_arc_dmach (__v2hi, __v2hi); +__v2hi __builtin_arc_dmachu (__v2hi, __v2hi); +__v2hi __builtin_arc_dmpyh (__v2hi, __v2hi); +__v2hi __builtin_arc_dmpyhu (__v2hi, __v2hi); +__v2hi __builtin_arc_vaddsub2h (__v2hi, __v2hi); +__v2hi __builtin_arc_vsubadd2h (__v2hi, __v2hi); +@end example + +The following built-in functions are available on systems that uses +@option{-mmpy-option=7} or higher. + +@example +__v2si __builtin_arc_vmac2h (__v2hi, __v2hi); +__v2si __builtin_arc_vmac2hu (__v2hi, __v2hi); +__v2si __builtin_arc_vmpy2h (__v2hi, __v2hi); +__v2si __builtin_arc_vmpy2hu (__v2hi, __v2hi); +@end example + +The following built-in functions are available on systems that uses +@option{-mmpy-option=8} or higher. + +@example +long long __builtin_arc_qmach (__v4hi, __v4hi); +long long __builtin_arc_qmachu (__v4hi, __v4hi); +long long __builtin_arc_qmpyh (__v4hi, __v4hi); +long long __builtin_arc_qmpyhu (__v4hi, __v4hi); +long long __builtin_arc_dmacwh (__v2si, __v2hi); +long long __builtin_arc_dmacwhu (__v2si, __v2hi); +_v2si __builtin_arc_vaddsub (__v2si, __v2si); +_v2si __builtin_arc_vsubadd (__v2si, __v2si); +_v4hi __builtin_arc_vaddsub4h (__v4hi, __v4hi); +_v4hi __builtin_arc_vsubadd4h (__v4hi, __v4hi); +@end example + @node ARM iWMMXt Built-in Functions @subsection ARM iWMMXt Built-in Functions