1+ // ===-- BuiltinsXtensa.def - Xtensa Builtin function database ----*- C++ -*-==//
2+ //
3+ // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+ // See https://llvm.org/LICENSE.txt for license information.
5+ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+ //
7+ // ===----------------------------------------------------------------------===//
8+ //
9+ // This file defines the Xtensa-specific builtin function database. Users of
10+ // this file must define the BUILTIN macro to make use of this information.
11+ //
12+ // ===----------------------------------------------------------------------===//
13+
14+ // The format of this database matches clang/Basic/Builtins.def.
15+
16+ BUILTIN (__builtin_xtensa_umul_aa_ll, " vUiUi" , " n" )
17+ BUILTIN(__builtin_xtensa_umul_aa_lh, " vUiUi" , " n" )
18+ BUILTIN(__builtin_xtensa_umul_aa_hl, " vUiUi" , " n" )
19+ BUILTIN(__builtin_xtensa_umul_aa_hh, " vUiUi" , " n" )
20+
21+ BUILTIN(__builtin_xtensa_mul_aa_ll, " vUiUi" , " n" )
22+ BUILTIN(__builtin_xtensa_mul_aa_lh, " vUiUi" , " n" )
23+ BUILTIN(__builtin_xtensa_mul_aa_hl, " vUiUi" , " n" )
24+ BUILTIN(__builtin_xtensa_mul_aa_hh, " vUiUi" , " n" )
25+
26+ BUILTIN(__builtin_xtensa_mul_ad_ll, " vUiIUi" , " n" )
27+ BUILTIN(__builtin_xtensa_mul_ad_lh, " vUiIUi" , " n" )
28+ BUILTIN(__builtin_xtensa_mul_ad_hl, " vUiIUi" , " n" )
29+ BUILTIN(__builtin_xtensa_mul_ad_hh, " vUiIUi" , " n" )
30+
31+ BUILTIN(__builtin_xtensa_mul_da_ll, " vIUiUi" , " n" )
32+ BUILTIN(__builtin_xtensa_mul_da_lh, " vIUiUi" , " n" )
33+ BUILTIN(__builtin_xtensa_mul_da_hl, " vIUiUi" , " n" )
34+ BUILTIN(__builtin_xtensa_mul_da_hh, " vIUiUi" , " n" )
35+
36+ BUILTIN(__builtin_xtensa_mul_dd_ll, " vIUiIUi" , " n" )
37+ BUILTIN(__builtin_xtensa_mul_dd_lh, " vIUiIUi" , " n" )
38+ BUILTIN(__builtin_xtensa_mul_dd_hl, " vIUiIUi" , " n" )
39+ BUILTIN(__builtin_xtensa_mul_dd_hh, " vIUiIUi" , " n" )
40+
41+ BUILTIN(__builtin_xtensa_mula_aa_ll, " vUiUi" , " n" )
42+ BUILTIN(__builtin_xtensa_mula_aa_lh, " vUiUi" , " n" )
43+ BUILTIN(__builtin_xtensa_mula_aa_hl, " vUiUi" , " n" )
44+ BUILTIN(__builtin_xtensa_mula_aa_hh, " vUiUi" , " n" )
45+
46+ BUILTIN(__builtin_xtensa_mula_ad_ll, " vUiIUi" , " n" )
47+ BUILTIN(__builtin_xtensa_mula_ad_lh, " vUiIUi" , " n" )
48+ BUILTIN(__builtin_xtensa_mula_ad_hl, " vUiIUi" , " n" )
49+ BUILTIN(__builtin_xtensa_mula_ad_hh, " vUiIUi" , " n" )
50+
51+ BUILTIN(__builtin_xtensa_mula_da_ll, " vIUiUi" , " n" )
52+ BUILTIN(__builtin_xtensa_mula_da_lh, " vIUiUi" , " n" )
53+ BUILTIN(__builtin_xtensa_mula_da_hl, " vIUiUi" , " n" )
54+ BUILTIN(__builtin_xtensa_mula_da_hh, " vIUiUi" , " n" )
55+
56+ BUILTIN(__builtin_xtensa_mula_dd_ll, " vIUiIUi" , " n" )
57+ BUILTIN(__builtin_xtensa_mula_dd_lh, " vIUiIUi" , " n" )
58+ BUILTIN(__builtin_xtensa_mula_dd_hl, " vIUiIUi" , " n" )
59+ BUILTIN(__builtin_xtensa_mula_dd_hh, " vIUiIUi" , " n" )
60+
61+ BUILTIN(__builtin_xtensa_muls_aa_ll, " vUiUi" , " n" )
62+ BUILTIN(__builtin_xtensa_muls_aa_lh, " vUiUi" , " n" )
63+ BUILTIN(__builtin_xtensa_muls_aa_hl, " vUiUi" , " n" )
64+ BUILTIN(__builtin_xtensa_muls_aa_hh, " vUiUi" , " n" )
65+
66+ BUILTIN(__builtin_xtensa_muls_ad_ll, " vUiIUi" , " n" )
67+ BUILTIN(__builtin_xtensa_muls_ad_lh, " vUiIUi" , " n" )
68+ BUILTIN(__builtin_xtensa_muls_ad_hl, " vUiIUi" , " n" )
69+ BUILTIN(__builtin_xtensa_muls_ad_hh, " vUiIUi" , " n" )
70+
71+ BUILTIN(__builtin_xtensa_muls_da_ll, " vIUiUi" , " n" )
72+ BUILTIN(__builtin_xtensa_muls_da_lh, " vIUiUi" , " n" )
73+ BUILTIN(__builtin_xtensa_muls_da_hl, " vIUiUi" , " n" )
74+ BUILTIN(__builtin_xtensa_muls_da_hh, " vIUiUi" , " n" )
75+
76+ BUILTIN(__builtin_xtensa_muls_dd_ll, " vIUiIUi" , " n" )
77+ BUILTIN(__builtin_xtensa_muls_dd_lh, " vIUiIUi" , " n" )
78+ BUILTIN(__builtin_xtensa_muls_dd_hl, " vIUiIUi" , " n" )
79+ BUILTIN(__builtin_xtensa_muls_dd_hh, " vIUiIUi" , " n" )
80+
81+ BUILTIN(__builtin_xtensa_mula_da_ll_lddec, " vIUii**IUii" , " n" )
82+ BUILTIN(__builtin_xtensa_mula_da_lh_lddec, " vIUii**IUii" , " n" )
83+ BUILTIN(__builtin_xtensa_mula_da_hl_lddec, " vIUii**IUii" , " n" )
84+ BUILTIN(__builtin_xtensa_mula_da_hh_lddec, " vIUii**IUii" , " n" )
85+
86+ BUILTIN(__builtin_xtensa_mula_da_ll_ldinc, " vIUii**IUii" , " n" )
87+ BUILTIN(__builtin_xtensa_mula_da_lh_ldinc, " vIUii**IUii" , " n" )
88+ BUILTIN(__builtin_xtensa_mula_da_hl_ldinc, " vIUii**IUii" , " n" )
89+ BUILTIN(__builtin_xtensa_mula_da_hh_ldinc, " vIUii**IUii" , " n" )
90+
91+ BUILTIN(__builtin_xtensa_mula_dd_ll_lddec, " vIUii**IUiIUi" , " n" )
92+ BUILTIN(__builtin_xtensa_mula_dd_lh_lddec, " vIUii**IUiIUi" , " n" )
93+ BUILTIN(__builtin_xtensa_mula_dd_hl_lddec, " vIUii**IUiIUi" , " n" )
94+ BUILTIN(__builtin_xtensa_mula_dd_hh_lddec, " vIUii**IUiIUi" , " n" )
95+
96+ BUILTIN(__builtin_xtensa_mula_dd_ll_ldinc, " vIUii**IUiIUi" , " n" )
97+ BUILTIN(__builtin_xtensa_mula_dd_lh_ldinc, " vIUii**IUiIUi" , " n" )
98+ BUILTIN(__builtin_xtensa_mula_dd_hl_ldinc, " vIUii**IUiIUi" , " n" )
99+ BUILTIN(__builtin_xtensa_mula_dd_hh_ldinc, " vIUii**IUiIUi" , " n" )
100+
101+ // Load operations
102+
103+ BUILTIN(__builtin_xtensa_ldinc, " vIUii**" , " n" )
104+ BUILTIN(__builtin_xtensa_lddec, " vIUii**" , " n" )
105+
106+ // WSR/RSR/XSR
107+
108+ BUILTIN(__builtin_xtensa_wsr_acclo, " vUi" , " n" )
109+ BUILTIN(__builtin_xtensa_rsr_acclo, " Ui" , " n" )
110+ BUILTIN(__builtin_xtensa_xsr_acclo, " vUi*" , " n" )
111+ BUILTIN(__builtin_xtensa_wsr_acchi, " vUi" , " n" )
112+ BUILTIN(__builtin_xtensa_rsr_acchi, " Ui" , " n" )
113+ BUILTIN(__builtin_xtensa_xsr_acchi, " vUi*" , " n" )
114+ BUILTIN(__builtin_xtensa_wsr_m0, " vUi" , " n" )
115+ BUILTIN(__builtin_xtensa_rsr_m0, " Ui" , " n" )
116+ BUILTIN(__builtin_xtensa_xsr_m0, " vUi*" , " n" )
117+ BUILTIN(__builtin_xtensa_wsr_m1, " vUi" , " n" )
118+ BUILTIN(__builtin_xtensa_rsr_m1, " Ui" , " n" )
119+ BUILTIN(__builtin_xtensa_xsr_m1, " vUi*" , " n" )
120+ BUILTIN(__builtin_xtensa_wsr_m2, " vUi" , " n" )
121+ BUILTIN(__builtin_xtensa_rsr_m2, " Ui" , " n" )
122+ BUILTIN(__builtin_xtensa_xsr_m2, " vUi*" , " n" )
123+ BUILTIN(__builtin_xtensa_wsr_m3, " vUi" , " n" )
124+ BUILTIN(__builtin_xtensa_rsr_m3, " Ui" , " n" )
125+ BUILTIN(__builtin_xtensa_xsr_m3, " vUi*" , " n" )
126+
127+ #undef BUILTIN
0 commit comments