aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/doc/arm-acle-intrinsics.texi
blob: 8c5523ed57eccb98c6753d422abcccd0c05f9286 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
@c Copyright (C) 2013-2014 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.

@subsubsection CRC32 intrinsics

These intrinsics are available when the CRC32 architecture extension is
specified, e.g. when the @option{-march=armv8-a+crc} switch is used, or when
the target processor specified with @option{-mcpu} supports it.

@itemize @bullet
@item uint32_t __crc32b (uint32_t, uint8_t)
@*@emph{Form of expected instruction(s):} @code{crc32b @var{r0}, @var{r0}, @var{r0}}
@end itemize


@itemize @bullet
@item uint32_t __crc32h (uint32_t, uint16_t)
@*@emph{Form of expected instruction(s):} @code{crc32h @var{r0}, @var{r0}, @var{r0}}
@end itemize


@itemize @bullet
@item uint32_t __crc32w (uint32_t, uint32_t)
@*@emph{Form of expected instruction(s):} @code{crc32w @var{r0}, @var{r0}, @var{r0}}
@end itemize


@itemize @bullet
@item uint32_t __crc32d (uint32_t, uint64_t)
@*@emph{Form of expected instruction(s):} Two @code{crc32w @var{r0}, @var{r0}, @var{r0}}
instructions.
@end itemize

@itemize @bullet
@item uint32_t __crc32cb (uint32_t, uint8_t)
@*@emph{Form of expected instruction(s):} @code{crc32cb @var{r0}, @var{r0}, @var{r0}}
@end itemize


@itemize @bullet
@item uint32_t __crc32ch (uint32_t, uint16_t)
@*@emph{Form of expected instruction(s):} @code{crc32ch @var{r0}, @var{r0}, @var{r0}}
@end itemize


@itemize @bullet
@item uint32_t __crc32cw (uint32_t, uint32_t)
@*@emph{Form of expected instruction(s):} @code{crc32cw @var{r0}, @var{r0}, @var{r0}}
@end itemize


@itemize @bullet
@item uint32_t __crc32cd (uint32_t, uint64_t)
@*@emph{Form of expected instruction(s):} Two @code{crc32cw @var{r0}, @var{r0}, @var{r0}}
instructions.
@end itemize