1 /* ACLE builtin definitions for ARM.
2 Copyright (C
) 2016-2025 Free Software Foundation
, Inc.
3 Contributed by ARM Ltd.
5 This file is part of GCC.
7 GCC is free software
; you can redistribute it and
/or modify it
8 under the terms of the GNU General Public License as published
9 by the Free Software Foundation
; either version
3, or (at your
10 option
) any later version.
12 GCC is distributed in the hope that it will be useful
, but WITHOUT
13 ANY WARRANTY
; without even the implied warranty of MERCHANTABILITY
14 or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public
15 License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GCC
; see the file COPYING3. If not see
19 <http
://www.gnu.org
/licenses
/>.
*/
21 VAR1 (UBINOP
, crc32b
, si
)
22 VAR1 (UBINOP
, crc32h
, si
)
23 VAR1 (UBINOP
, crc32w
, si
)
24 VAR1 (UBINOP
, crc32cb
, si
)
25 VAR1 (UBINOP
, crc32ch
, si
)
26 VAR1 (UBINOP
, crc32cw
, si
)
28 VAR1 (CDP
, cdp2
, void
)
30 VAR1 (LDC
, ldc2
, void
)
31 VAR1 (LDC
, ldcl
, void
)
32 VAR1 (LDC
, ldc2l
, void
)
34 VAR1 (STC
, stc2
, void
)
35 VAR1 (STC
, stcl
, void
)
36 VAR1 (STC
, stc2l
, void
)
38 VAR1 (MCR
, mcr2
, void
)
41 VAR1 (MCRR
, mcrr
, void
)
42 VAR1 (MCRR
, mcrr2
, void
)
44 VAR1 (MRRC
, mrrc2
, di
)
46 VAR1 (BINOP
, sxtab16
, si
)
47 VAR1 (UBINOP
, uxtab16
, si
)
48 VAR1 (UNOP
, sxtb16
, si
)
49 VAR1 (BSWAP
, uxtb16
, si
)
50 VAR1 (BINOP
, qadd8
, si
)
51 VAR1 (BINOP
, qsub8
, si
)
52 VAR1 (BINOP
, shadd8
, si
)
53 VAR1 (BINOP
, shsub8
, si
)
54 VAR1 (UBINOP
, uhadd8
, si
)
55 VAR1 (UBINOP
, uhsub8
, si
)
56 VAR1 (UBINOP
, uqadd8
, si
)
57 VAR1 (UBINOP
, uqsub8
, si
)
58 VAR1 (BINOP
, qadd16
, si
)
59 VAR1 (BINOP
, qasx
, si
)
60 VAR1 (BINOP
, qsax
, si
)
61 VAR1 (BINOP
, qsub16
, si
)
62 VAR1 (BINOP
, shadd16
, si
)
63 VAR1 (BINOP
, shasx
, si
)
64 VAR1 (BINOP
, shsax
, si
)
65 VAR1 (BINOP
, shsub16
, si
)
66 VAR1 (UBINOP
, uhadd16
, si
)
67 VAR1 (UBINOP
, uhasx
, si
)
68 VAR1 (UBINOP
, uhsax
, si
)
69 VAR1 (UBINOP
, uhsub16
, si
)
70 VAR1 (UBINOP
, uqadd16
, si
)
71 VAR1 (UBINOP
, uqasx
, si
)
72 VAR1 (UBINOP
, uqsax
, si
)
73 VAR1 (UBINOP
, uqsub16
, si
)
74 VAR1 (BINOP
, smusd
, si
)
75 VAR1 (BINOP
, smusdx
, si
)
76 VAR1 (UBINOP
, usad8
, si
)
77 VAR1 (UBINOP
, usada8
, si
)
78 VAR1 (TERNOP
, smlald
, di
)
79 VAR1 (TERNOP
, smlaldx
, di
)
80 VAR1 (TERNOP
, smlsld
, di
)
81 VAR1 (TERNOP
, smlsldx
, di
)
83 VAR1 (SAT_BINOP_UNSIGNED_IMM
, ssat
, si
)
84 VAR1 (UNSIGNED_SAT_BINOP_UNSIGNED_IMM
, usat
, si
)
85 VAR1 (SAT_OCCURRED
, saturation_occurred
, si
)
86 VAR1 (SET_SAT
, set_saturation
, void
)
87 VAR1 (BINOP
, qadd
, si
)
88 VAR1 (BINOP
, qsub
, si
)
89 VAR1 (TERNOP
, smlabb
, si
)
90 VAR1 (TERNOP
, smlatb
, si
)
91 VAR1 (TERNOP
, smlatt
, si
)
92 VAR1 (TERNOP
, smlawb
, si
)
93 VAR1 (TERNOP
, smlawt
, si
)
95 VAR1 (BINOP
, sadd8
, si
)
96 VAR1 (BINOP
, ssub8
, si
)
97 VAR1 (BINOP
, sadd16
, si
)
98 VAR1 (BINOP
, sasx
, si
)
99 VAR1 (BINOP
, ssax
, si
)
100 VAR1 (BINOP
, ssub16
, si
)
102 VAR1 (UBINOP
, uadd8
, si
)
103 VAR1 (UBINOP
, usub8
, si
)
104 VAR1 (UBINOP
, uadd16
, si
)
105 VAR1 (UBINOP
, uasx
, si
)
106 VAR1 (UBINOP
, usax
, si
)
107 VAR1 (UBINOP
, usub16
, si
)
109 VAR1 (UBINOP
, sel
, si
)
111 VAR1 (TERNOP
, smlad
, si
)
112 VAR1 (TERNOP
, smladx
, si
)
113 VAR1 (TERNOP
, smlsd
, si
)
114 VAR1 (TERNOP
, smlsdx
, si
)
115 VAR1 (BINOP
, smuad
, si
)
116 VAR1 (BINOP
, smuadx
, si
)
118 VAR1 (SAT_BINOP_UNSIGNED_IMM
, ssat16
, si
)
119 VAR1 (SAT_BINOP_UNSIGNED_IMM
, usat16
, si
)
121 VAR1 (BSWAP
, rbit
, si
)
122 VAR1 (BSWAP
, rev16si2
, si
)