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