1 /* Definitions for operation tables
, or
"optabs".
2 Copyright (C
) 1987-2014 Free Software Foundation
, Inc.
4 This file is part of GCC.
6 GCC is free software
; you can redistribute it and
/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation
; either version
3, or (at your option
) any later
11 GCC is distributed in the hope that it will be useful
, but WITHOUT ANY
12 WARRANTY
; without even the implied warranty of MERCHANTABILITY or
13 FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 You should have received a copy of the GNU General Public License
17 along with GCC
; see the file COPYING3. If not see
18 <http
://www.gnu.org
/licenses
/>.
*/
20 /* Entries here are categorized C
, D
, N
, V. See genopinit.c for details
21 on the meaning of the categories and for the pattern dollar codes.
*/
23 /* The extension libcalls are used for float extension.
*/
24 OPTAB_CL(sext_optab
, "extend$b$a2", SIGN_EXTEND
, "extend", gen_extend_conv_libfunc
)
25 OPTAB_CL(trunc_optab
, "trunc$b$a2", TRUNCATE
, "trunc", gen_trunc_conv_libfunc
)
26 OPTAB_CL(zext_optab
, "zero_extend$b$a2", ZERO_EXTEND
, NULL
, NULL
)
28 OPTAB_CL(sfix_optab
, "fix$F$b$I$a2", FIX
, "fix", gen_fp_to_int_conv_libfunc
)
29 OPTAB_CL(ufix_optab
, "fixuns$F$b$a2", UNSIGNED_FIX
, "fixuns", gen_fp_to_int_conv_libfunc
)
30 OPTAB_CL(sfloat_optab
, "float$I$b$F$a2", FLOAT, "float", gen_int_to_fp_conv_libfunc
)
31 OPTAB_CL(ufloat_optab
, "floatuns$I$b$F$a2", UNSIGNED_FLOAT
, NULL
, gen_ufloat_conv_libfunc
)
33 OPTAB_CL(lrint_optab
, "lrint$F$b$I$a2", UNKNOWN
, "lrint", gen_int_to_fp_nondecimal_conv_libfunc
)
34 OPTAB_CL(lround_optab
, "lround$F$b$I$a2", UNKNOWN
, "lround", gen_int_to_fp_nondecimal_conv_libfunc
)
35 OPTAB_CL(lfloor_optab
, "lfloor$F$b$I$a2", UNKNOWN
, "lfloor", gen_int_to_fp_nondecimal_conv_libfunc
)
36 OPTAB_CL(lceil_optab
, "lceil$F$b$I$a2", UNKNOWN
, "lceil", gen_int_to_fp_nondecimal_conv_libfunc
)
38 /* Conversions for fixed
-point modes and other modes.
*/
39 OPTAB_CL(fract_optab
, "fract$b$a2", FRACT_CONVERT
, "fract", gen_fract_conv_libfunc
)
40 OPTAB_CL(fractuns_optab
, "fractuns$I$b$Q$a2", UNSIGNED_FRACT_CONVERT
, "fractuns", gen_fractuns_conv_libfunc
)
41 OPTAB_CX(fractuns_optab
, "fractuns$Q$b$I$a2")
42 OPTAB_CL(satfract_optab
, "satfract$b$Q$a2", SAT_FRACT
, "satfract", gen_satfract_conv_libfunc
)
43 OPTAB_CL(satfractuns_optab
, "satfractuns$I$b$Q$a2", UNSIGNED_SAT_FRACT
, "satfractuns", gen_satfractuns_conv_libfunc
)
45 OPTAB_CD(sfixtrunc_optab
, "fix_trunc$F$b$I$a2")
46 OPTAB_CD(ufixtrunc_optab
, "fixuns_trunc$F$b$I$a2")
48 /* Misc optabs that use two modes
; model them as
"conversions".
*/
49 OPTAB_CD(smul_widen_optab
, "mul$b$a3")
50 OPTAB_CD(umul_widen_optab
, "umul$b$a3")
51 OPTAB_CD(usmul_widen_optab
, "usmul$b$a3")
52 OPTAB_CD(smadd_widen_optab
, "madd$b$a4")
53 OPTAB_CD(umadd_widen_optab
, "umadd$b$a4")
54 OPTAB_CD(ssmadd_widen_optab
, "ssmadd$b$a4")
55 OPTAB_CD(usmadd_widen_optab
, "usmadd$b$a4")
56 OPTAB_CD(smsub_widen_optab
, "msub$b$a4")
57 OPTAB_CD(umsub_widen_optab
, "umsub$b$a4")
58 OPTAB_CD(ssmsub_widen_optab
, "ssmsub$b$a4")
59 OPTAB_CD(usmsub_widen_optab
, "usmsub$a$b4")
60 OPTAB_CD(vec_load_lanes_optab
, "vec_load_lanes$a$b")
61 OPTAB_CD(vec_store_lanes_optab
, "vec_store_lanes$a$b")
62 OPTAB_CD(vcond_optab
, "vcond$a$b")
63 OPTAB_CD(vcondu_optab
, "vcondu$a$b")
65 OPTAB_NL(add_optab
, "add$P$a3", PLUS
, "add", '3', gen_int_fp_fixed_libfunc
)
66 OPTAB_NX(add_optab
, "add$F$a3")
67 OPTAB_NX(add_optab
, "add$Q$a3")
68 OPTAB_VL(addv_optab
, "addv$I$a3", PLUS
, "add", '3', gen_intv_fp_libfunc
)
69 OPTAB_VX(addv_optab
, "add$F$a3")
70 OPTAB_NL(ssadd_optab
, "ssadd$Q$a3", SS_PLUS
, "ssadd", '3', gen_signed_fixed_libfunc
)
71 OPTAB_NL(usadd_optab
, "usadd$Q$a3", US_PLUS
, "usadd", '3', gen_unsigned_fixed_libfunc
)
72 OPTAB_NL(sub_optab
, "sub$P$a3", MINUS
, "sub", '3', gen_int_fp_fixed_libfunc
)
73 OPTAB_NX(sub_optab
, "sub$F$a3")
74 OPTAB_NX(sub_optab
, "sub$Q$a3")
75 OPTAB_VL(subv_optab
, "subv$I$a3", MINUS
, "sub", '3', gen_intv_fp_libfunc
)
76 OPTAB_VX(subv_optab
, "sub$F$a3")
77 OPTAB_NL(sssub_optab
, "sssub$Q$a3", SS_MINUS
, "sssub", '3', gen_signed_fixed_libfunc
)
78 OPTAB_NL(ussub_optab
, "ussub$Q$a3", US_MINUS
, "ussub", '3', gen_unsigned_fixed_libfunc
)
79 OPTAB_NL(smul_optab
, "mul$Q$a3", MULT
, "mul", '3', gen_int_fp_fixed_libfunc
)
80 OPTAB_NX(smul_optab
, "mul$P$a3")
81 OPTAB_NX(smul_optab
, "mul$F$a3")
82 OPTAB_VL(smulv_optab
, "mulv$I$a3", MULT
, "mul", '3', gen_intv_fp_libfunc
)
83 OPTAB_VX(smulv_optab
, "mul$F$a3")
84 OPTAB_NL(ssmul_optab
, "ssmul$Q$a3", SS_MULT
, "ssmul", '3', gen_signed_fixed_libfunc
)
85 OPTAB_NL(usmul_optab
, "usmul$Q$a3", US_MULT
, "usmul", '3', gen_unsigned_fixed_libfunc
)
86 OPTAB_NL(sdiv_optab
, "div$a3", DIV, "div", '3', gen_int_fp_signed_fixed_libfunc
)
87 OPTAB_VL(sdivv_optab
, "divv$I$a3", DIV, "divv", '3', gen_int_libfunc
)
88 OPTAB_VX(sdivv_optab
, "div$F$a3")
89 OPTAB_NL(ssdiv_optab
, "ssdiv$Q$a3", SS_DIV
, "ssdiv", '3', gen_signed_fixed_libfunc
)
90 OPTAB_NL(udiv_optab
, "udiv$I$a3", UDIV
, "udiv", '3', gen_int_unsigned_fixed_libfunc
)
91 OPTAB_NX(udiv_optab
, "udiv$Q$a3")
92 OPTAB_NL(usdiv_optab
, "usdiv$Q$a3", US_DIV
, "usdiv", '3', gen_unsigned_fixed_libfunc
)
93 OPTAB_NL(sdivmod_optab
, "divmod$a4", UNKNOWN
, "divmod", '4', gen_int_libfunc
)
94 OPTAB_NL(udivmod_optab
, "udivmod$a4", UNKNOWN
, "udivmod", '4', gen_int_libfunc
)
95 OPTAB_NL(smod_optab
, "mod$a3", MOD, "mod", '3', gen_int_libfunc
)
96 OPTAB_NL(umod_optab
, "umod$a3", UMOD
, "umod", '3', gen_int_libfunc
)
97 OPTAB_NL(ftrunc_optab
, "ftrunc$F$a2", UNKNOWN
, "ftrunc", '2', gen_fp_libfunc
)
98 OPTAB_NL(and_optab
, "and$a3", AND, "and", '3', gen_int_libfunc
)
99 OPTAB_NL(ior_optab
, "ior$a3", IOR
, "ior", '3', gen_int_libfunc
)
100 OPTAB_NL(xor_optab
, "xor$a3", XOR
, "xor", '3', gen_int_libfunc
)
101 OPTAB_NL(ashl_optab
, "ashl$a3", ASHIFT
, "ashl", '3', gen_int_fixed_libfunc
)
102 OPTAB_NL(ssashl_optab
, "ssashl$Q$a3", SS_ASHIFT
, "ssashl", '3', gen_signed_fixed_libfunc
)
103 OPTAB_NL(usashl_optab
, "usashl$Q$a3", US_ASHIFT
, "usashl", '3', gen_unsigned_fixed_libfunc
)
104 OPTAB_NL(ashr_optab
, "ashr$a3", ASHIFTRT
, "ashr", '3', gen_int_signed_fixed_libfunc
)
105 OPTAB_NL(lshr_optab
, "lshr$a3", LSHIFTRT
, "lshr", '3', gen_int_unsigned_fixed_libfunc
)
106 OPTAB_NC(rotl_optab
, "rotl$a3", ROTATE
)
107 OPTAB_NC(rotr_optab
, "rotr$a3", ROTATERT
)
108 OPTAB_VC(vashl_optab
, "vashl$a3", ASHIFT
)
109 OPTAB_VC(vashr_optab
, "vashr$a3", ASHIFTRT
)
110 OPTAB_VC(vlshr_optab
, "vlshr$a3", LSHIFTRT
)
111 OPTAB_VC(vrotl_optab
, "vrotl$a3", ROTATE
)
112 OPTAB_VC(vrotr_optab
, "vrotr$a3", ROTATERT
)
113 OPTAB_NL(smin_optab
, "smin$a3", SMIN
, "min", '3', gen_int_fp_libfunc
)
114 OPTAB_NL(smax_optab
, "smax$a3", SMAX
, "max", '3', gen_int_fp_libfunc
)
115 OPTAB_NL(umin_optab
, "umin$I$a3", UMIN
, "umin", '3', gen_int_libfunc
)
116 OPTAB_NL(umax_optab
, "umax$I$a3", UMAX
, "umax", '3', gen_int_libfunc
)
118 OPTAB_NL(neg_optab
, "neg$P$a2", NEG
, "neg", '2', gen_int_fp_fixed_libfunc
)
119 OPTAB_NX(neg_optab
, "neg$F$a2")
120 OPTAB_NX(neg_optab
, "neg$Q$a2")
121 OPTAB_VL(negv_optab
, "negv$I$a2", NEG
, "neg", '2', gen_intv_fp_libfunc
)
122 OPTAB_VX(negv_optab
, "neg$F$a2")
123 OPTAB_NL(ssneg_optab
, "ssneg$Q$a2", SS_NEG
, "ssneg", '2', gen_signed_fixed_libfunc
)
124 OPTAB_NL(usneg_optab
, "usneg$Q$a2", US_NEG
, "usneg", '2', gen_unsigned_fixed_libfunc
)
125 OPTAB_NC(abs_optab
, "abs$P$a2", ABS)
126 OPTAB_NX(abs_optab
, "abs$F$a2")
127 OPTAB_VC(absv_optab
, "absv$I$a2", ABS)
128 OPTAB_VX(absv_optab
, "abs$F$a2")
129 OPTAB_NL(one_cmpl_optab
, "one_cmpl$a2", NOT, "one_cmpl", '2', gen_int_libfunc
)
130 OPTAB_NC(bswap_optab
, "bswap$a2", BSWAP
)
131 OPTAB_NL(ffs_optab
, "ffs$a2", FFS
, "ffs", '2', gen_int_libfunc
)
132 OPTAB_NL(clz_optab
, "clz$a2", CLZ
, "clz", '2', gen_int_libfunc
)
133 OPTAB_NL(ctz_optab
, "ctz$a2", CTZ
, "ctz", '2', gen_int_libfunc
)
134 OPTAB_NL(clrsb_optab
, "clrsb$a2", CLRSB
, "clrsb", '2', gen_int_libfunc
)
135 OPTAB_NL(popcount_optab
, "popcount$a2", POPCOUNT
, "popcount", '2', gen_int_libfunc
)
136 OPTAB_NL(parity_optab
, "parity$a2", PARITY
, "parity", '2', gen_int_libfunc
)
138 /* Comparison libcalls for integers MUST come in pairs
, signed
/unsigned.
*/
139 OPTAB_NL(cmp_optab
, NULL
, UNKNOWN
, "cmp", '2', gen_int_fp_fixed_libfunc
)
140 OPTAB_NL(ucmp_optab
, NULL
, UNKNOWN
, "ucmp", '2', gen_int_libfunc
)
142 /* EQ etc are floating point comparisons.
*/
143 OPTAB_NL(eq_optab
, NULL
, EQ
, "eq", '2', gen_fp_libfunc
)
144 OPTAB_NL(ne_optab
, NULL
, NE
, "ne", '2', gen_fp_libfunc
)
145 OPTAB_NL(gt_optab
, NULL
, GT
, "gt", '2', gen_fp_libfunc
)
146 OPTAB_NL(ge_optab
, NULL
, GE
, "ge", '2', gen_fp_libfunc
)
147 OPTAB_NL(lt_optab
, NULL
, LT
, "lt", '2', gen_fp_libfunc
)
148 OPTAB_NL(le_optab
, NULL
, LE
, "le", '2', gen_fp_libfunc
)
149 OPTAB_NL(unord_optab
, NULL
, UNORDERED
, "unord", '2', gen_fp_libfunc
)
151 OPTAB_NL(powi_optab
, NULL
, UNKNOWN
, "powi", '2', gen_fp_libfunc
)
153 /* These are all initialized individually
, on a per
-host basis.
*/
154 OPTAB_NC(sqrt_optab
, "sqrt$a2", SQRT
)
155 OPTAB_NC(sync_old_add_optab
, "sync_old_add$I$a", UNKNOWN
)
156 OPTAB_NC(sync_old_sub_optab
, "sync_old_sub$I$a", UNKNOWN
)
157 OPTAB_NC(sync_old_ior_optab
, "sync_old_ior$I$a", UNKNOWN
)
158 OPTAB_NC(sync_old_and_optab
, "sync_old_and$I$a", UNKNOWN
)
159 OPTAB_NC(sync_old_xor_optab
, "sync_old_xor$I$a", UNKNOWN
)
160 OPTAB_NC(sync_old_nand_optab
, "sync_old_nand$I$a", UNKNOWN
)
161 OPTAB_NC(sync_new_add_optab
, "sync_new_add$I$a", UNKNOWN
)
162 OPTAB_NC(sync_new_sub_optab
, "sync_new_sub$I$a", UNKNOWN
)
163 OPTAB_NC(sync_new_ior_optab
, "sync_new_ior$I$a", UNKNOWN
)
164 OPTAB_NC(sync_new_and_optab
, "sync_new_and$I$a", UNKNOWN
)
165 OPTAB_NC(sync_new_xor_optab
, "sync_new_xor$I$a", UNKNOWN
)
166 OPTAB_NC(sync_new_nand_optab
, "sync_new_nand$I$a", UNKNOWN
)
167 OPTAB_NC(sync_compare_and_swap_optab
, "sync_compare_and_swap$I$a", UNKNOWN
)
168 OPTAB_NC(sync_lock_test_and_set_optab
, "sync_lock_test_and_set$I$a", UNKNOWN
)
170 OPTAB_DC(mov_optab
, "mov$a", SET)
171 OPTAB_DC(movstrict_optab
, "movstrict$a", STRICT_LOW_PART
)
172 OPTAB_D (movmisalign_optab
, "movmisalign$a")
173 OPTAB_D (storent_optab
, "storent$a")
174 OPTAB_D (insv_optab
, "insv$a")
175 OPTAB_D (extv_optab
, "extv$a")
176 OPTAB_D (extzv_optab
, "extzv$a")
177 OPTAB_D (insvmisalign_optab
, "insvmisalign$a")
178 OPTAB_D (extvmisalign_optab
, "extvmisalign$a")
179 OPTAB_D (extzvmisalign_optab
, "extzvmisalign$a")
180 OPTAB_D (push_optab
, "push$a1")
181 OPTAB_D (reload_in_optab
, "reload_in$a")
182 OPTAB_D (reload_out_optab
, "reload_out$a")
184 OPTAB_DC(cbranch_optab
, "cbranch$a4", COMPARE
)
185 OPTAB_D (addcc_optab
, "add$acc")
186 OPTAB_D (movcc_optab
, "mov$acc")
187 OPTAB_D (cmov_optab
, "cmov$a6")
188 OPTAB_D (cstore_optab
, "cstore$a4")
189 OPTAB_D (ctrap_optab
, "ctrap$a4")
190 OPTAB_D (addv4_optab
, "addv$I$a4")
191 OPTAB_D (subv4_optab
, "subv$I$a4")
192 OPTAB_D (mulv4_optab
, "mulv$I$a4")
193 OPTAB_D (negv3_optab
, "negv$I$a3")
194 OPTAB_D (addptr3_optab
, "addptr$a3")
196 OPTAB_D (smul_highpart_optab
, "smul$a3_highpart")
197 OPTAB_D (umul_highpart_optab
, "umul$a3_highpart")
199 OPTAB_D (cmpmem_optab
, "cmpmem$a")
200 OPTAB_D (cmpstr_optab
, "cmpstr$a")
201 OPTAB_D (cmpstrn_optab
, "cmpstrn$a")
202 OPTAB_D (movmem_optab
, "movmem$a")
203 OPTAB_D (setmem_optab
, "setmem$a")
204 OPTAB_D (strlen_optab
, "strlen$a")
206 OPTAB_DC(fma_optab
, "fma$a4", FMA
)
207 OPTAB_D (fms_optab
, "fms$a4")
208 OPTAB_D (fnma_optab
, "fnma$a4")
209 OPTAB_D (fnms_optab
, "fnms$a4")
211 OPTAB_D (rint_optab
, "rint$a2")
212 OPTAB_D (round_optab
, "round$a2")
213 OPTAB_D (floor_optab
, "floor$a2")
214 OPTAB_D (ceil_optab
, "ceil$a2")
215 OPTAB_D (btrunc_optab
, "btrunc$a2")
216 OPTAB_D (nearbyint_optab
, "nearbyint$a2")
218 OPTAB_D (acos_optab
, "acos$a2")
219 OPTAB_D (asin_optab
, "asin$a2")
220 OPTAB_D (atan2_optab
, "atan2$a3")
221 OPTAB_D (atan_optab
, "atan$a2")
222 OPTAB_D (copysign_optab
, "copysign$F$a3")
223 OPTAB_D (cos_optab
, "cos$a2")
224 OPTAB_D (exp10_optab
, "exp10$a2")
225 OPTAB_D (exp2_optab
, "exp2$a2")
226 OPTAB_D (exp_optab
, "exp$a2")
227 OPTAB_D (expm1_optab
, "expm1$a2")
228 OPTAB_D (fmod_optab
, "fmod$a3")
229 OPTAB_D (ilogb_optab
, "ilogb$a2")
230 OPTAB_D (isinf_optab
, "isinf$a2")
231 OPTAB_D (ldexp_optab
, "ldexp$a3")
232 OPTAB_D (log10_optab
, "log10$a2")
233 OPTAB_D (log1p_optab
, "log1p$a2")
234 OPTAB_D (log2_optab
, "log2$a2")
235 OPTAB_D (log_optab
, "log$a2")
236 OPTAB_D (logb_optab
, "logb$a2")
237 OPTAB_D (pow_optab
, "pow$a3")
238 OPTAB_D (remainder_optab
, "remainder$a3")
239 OPTAB_D (scalb_optab
, "scalb$a3")
240 OPTAB_D (signbit_optab
, "signbit$F$a2")
241 OPTAB_D (significand_optab
, "significand$a2")
242 OPTAB_D (sin_optab
, "sin$a2")
243 OPTAB_D (sincos_optab
, "sincos$a3")
244 OPTAB_D (tan_optab
, "tan$a2")
246 OPTAB_D (reduc_smax_optab
, "reduc_smax_$a")
247 OPTAB_D (reduc_smin_optab
, "reduc_smin_$a")
248 OPTAB_D (reduc_splus_optab
, "reduc_splus_$a")
249 OPTAB_D (reduc_umax_optab
, "reduc_umax_$a")
250 OPTAB_D (reduc_umin_optab
, "reduc_umin_$a")
251 OPTAB_D (reduc_uplus_optab
, "reduc_uplus_$a")
252 OPTAB_D (sdot_prod_optab
, "sdot_prod$I$a")
253 OPTAB_D (ssum_widen_optab
, "widen_ssum$I$a3")
254 OPTAB_D (udot_prod_optab
, "udot_prod$I$a")
255 OPTAB_D (usum_widen_optab
, "widen_usum$I$a3")
256 OPTAB_D (usad_optab
, "usad$I$a")
257 OPTAB_D (ssad_optab
, "ssad$I$a")
258 OPTAB_D (maskload_optab
, "maskload$a")
259 OPTAB_D (maskstore_optab
, "maskstore$a")
260 OPTAB_D (vec_extract_optab
, "vec_extract$a")
261 OPTAB_D (vec_init_optab
, "vec_init$a")
262 OPTAB_D (vec_pack_sfix_trunc_optab
, "vec_pack_sfix_trunc_$a")
263 OPTAB_D (vec_pack_ssat_optab
, "vec_pack_ssat_$a")
264 OPTAB_D (vec_pack_trunc_optab
, "vec_pack_trunc_$a")
265 OPTAB_D (vec_pack_ufix_trunc_optab
, "vec_pack_ufix_trunc_$a")
266 OPTAB_D (vec_pack_usat_optab
, "vec_pack_usat_$a")
267 OPTAB_D (vec_perm_const_optab
, "vec_perm_const$a")
268 OPTAB_D (vec_perm_optab
, "vec_perm$a")
269 OPTAB_D (vec_realign_load_optab
, "vec_realign_load_$a")
270 OPTAB_D (vec_set_optab
, "vec_set$a")
271 OPTAB_D (vec_shl_optab
, "vec_shl_$a")
272 OPTAB_D (vec_shr_optab
, "vec_shr_$a")
273 OPTAB_D (vec_unpacks_float_hi_optab
, "vec_unpacks_float_hi_$a")
274 OPTAB_D (vec_unpacks_float_lo_optab
, "vec_unpacks_float_lo_$a")
275 OPTAB_D (vec_unpacks_hi_optab
, "vec_unpacks_hi_$a")
276 OPTAB_D (vec_unpacks_lo_optab
, "vec_unpacks_lo_$a")
277 OPTAB_D (vec_unpacku_float_hi_optab
, "vec_unpacku_float_hi_$a")
278 OPTAB_D (vec_unpacku_float_lo_optab
, "vec_unpacku_float_lo_$a")
279 OPTAB_D (vec_unpacku_hi_optab
, "vec_unpacku_hi_$a")
280 OPTAB_D (vec_unpacku_lo_optab
, "vec_unpacku_lo_$a")
281 OPTAB_D (vec_widen_smult_even_optab
, "vec_widen_smult_even_$a")
282 OPTAB_D (vec_widen_smult_hi_optab
, "vec_widen_smult_hi_$a")
283 OPTAB_D (vec_widen_smult_lo_optab
, "vec_widen_smult_lo_$a")
284 OPTAB_D (vec_widen_smult_odd_optab
, "vec_widen_smult_odd_$a")
285 OPTAB_D (vec_widen_sshiftl_hi_optab
, "vec_widen_sshiftl_hi_$a")
286 OPTAB_D (vec_widen_sshiftl_lo_optab
, "vec_widen_sshiftl_lo_$a")
287 OPTAB_D (vec_widen_umult_even_optab
, "vec_widen_umult_even_$a")
288 OPTAB_D (vec_widen_umult_hi_optab
, "vec_widen_umult_hi_$a")
289 OPTAB_D (vec_widen_umult_lo_optab
, "vec_widen_umult_lo_$a")
290 OPTAB_D (vec_widen_umult_odd_optab
, "vec_widen_umult_odd_$a")
291 OPTAB_D (vec_widen_ushiftl_hi_optab
, "vec_widen_ushiftl_hi_$a")
292 OPTAB_D (vec_widen_ushiftl_lo_optab
, "vec_widen_ushiftl_lo_$a")
294 OPTAB_D (sync_add_optab
, "sync_add$I$a")
295 OPTAB_D (sync_and_optab
, "sync_and$I$a")
296 OPTAB_D (sync_ior_optab
, "sync_ior$I$a")
297 OPTAB_D (sync_lock_release_optab
, "sync_lock_release$I$a")
298 OPTAB_D (sync_nand_optab
, "sync_nand$I$a")
299 OPTAB_D (sync_sub_optab
, "sync_sub$I$a")
300 OPTAB_D (sync_xor_optab
, "sync_xor$I$a")
302 OPTAB_D (atomic_add_fetch_optab
, "atomic_add_fetch$I$a")
303 OPTAB_D (atomic_add_optab
, "atomic_add$I$a")
304 OPTAB_D (atomic_and_fetch_optab
, "atomic_and_fetch$I$a")
305 OPTAB_D (atomic_and_optab
, "atomic_and$I$a")
306 OPTAB_D (atomic_compare_and_swap_optab
, "atomic_compare_and_swap$I$a")
307 OPTAB_D (atomic_exchange_optab
, "atomic_exchange$I$a")
308 OPTAB_D (atomic_fetch_add_optab
, "atomic_fetch_add$I$a")
309 OPTAB_D (atomic_fetch_and_optab
, "atomic_fetch_and$I$a")
310 OPTAB_D (atomic_fetch_nand_optab
, "atomic_fetch_nand$I$a")
311 OPTAB_D (atomic_fetch_or_optab
, "atomic_fetch_or$I$a")
312 OPTAB_D (atomic_fetch_sub_optab
, "atomic_fetch_sub$I$a")
313 OPTAB_D (atomic_fetch_xor_optab
, "atomic_fetch_xor$I$a")
314 OPTAB_D (atomic_load_optab
, "atomic_load$I$a")
315 OPTAB_D (atomic_nand_fetch_optab
, "atomic_nand_fetch$I$a")
316 OPTAB_D (atomic_nand_optab
, "atomic_nand$I$a")
317 OPTAB_D (atomic_or_fetch_optab
, "atomic_or_fetch$I$a")
318 OPTAB_D (atomic_or_optab
, "atomic_or$I$a")
319 OPTAB_D (atomic_store_optab
, "atomic_store$I$a")
320 OPTAB_D (atomic_sub_fetch_optab
, "atomic_sub_fetch$I$a")
321 OPTAB_D (atomic_sub_optab
, "atomic_sub$I$a")
322 OPTAB_D (atomic_xor_fetch_optab
, "atomic_xor_fetch$I$a")
323 OPTAB_D (atomic_xor_optab
, "atomic_xor$I$a")
325 OPTAB_D (get_thread_pointer_optab
, "get_thread_pointer$I$a")
326 OPTAB_D (set_thread_pointer_optab
, "set_thread_pointer$I$a")