Rebase.
[official-gcc.git] / gcc / doc / arm-acle-intrinsics.texi
blob8c5523ed57eccb98c6753d422abcccd0c05f9286
1 @c Copyright (C) 2013-2014 Free Software Foundation, Inc.
2 @c This is part of the GCC manual.
3 @c For copying conditions, see the file gcc.texi.
5 @subsubsection CRC32 intrinsics
7 These intrinsics are available when the CRC32 architecture extension is
8 specified, e.g. when the @option{-march=armv8-a+crc} switch is used, or when
9 the target processor specified with @option{-mcpu} supports it.
11 @itemize @bullet
12 @item uint32_t __crc32b (uint32_t, uint8_t)
13 @*@emph{Form of expected instruction(s):} @code{crc32b @var{r0}, @var{r0}, @var{r0}}
14 @end itemize
17 @itemize @bullet
18 @item uint32_t __crc32h (uint32_t, uint16_t)
19 @*@emph{Form of expected instruction(s):} @code{crc32h @var{r0}, @var{r0}, @var{r0}}
20 @end itemize
23 @itemize @bullet
24 @item uint32_t __crc32w (uint32_t, uint32_t)
25 @*@emph{Form of expected instruction(s):} @code{crc32w @var{r0}, @var{r0}, @var{r0}}
26 @end itemize
29 @itemize @bullet
30 @item uint32_t __crc32d (uint32_t, uint64_t)
31 @*@emph{Form of expected instruction(s):} Two @code{crc32w @var{r0}, @var{r0}, @var{r0}}
32 instructions.
33 @end itemize
35 @itemize @bullet
36 @item uint32_t __crc32cb (uint32_t, uint8_t)
37 @*@emph{Form of expected instruction(s):} @code{crc32cb @var{r0}, @var{r0}, @var{r0}}
38 @end itemize
41 @itemize @bullet
42 @item uint32_t __crc32ch (uint32_t, uint16_t)
43 @*@emph{Form of expected instruction(s):} @code{crc32ch @var{r0}, @var{r0}, @var{r0}}
44 @end itemize
47 @itemize @bullet
48 @item uint32_t __crc32cw (uint32_t, uint32_t)
49 @*@emph{Form of expected instruction(s):} @code{crc32cw @var{r0}, @var{r0}, @var{r0}}
50 @end itemize
53 @itemize @bullet
54 @item uint32_t __crc32cd (uint32_t, uint64_t)
55 @*@emph{Form of expected instruction(s):} Two @code{crc32cw @var{r0}, @var{r0}, @var{r0}}
56 instructions.
57 @end itemize