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