{
tree argtypes = TYPE_ARG_TYPES (fntype);
tree arg_type[MAX_OVLD_ARGS];
- tree fndecl = rs6000_builtin_decls_x[bif_id];
+ tree fndecl = rs6000_builtin_decls[bif_id];
for (int i = 0; i < n; i++)
{
case E_SFmode:
{
/* For floats use the xvmulsp instruction directly. */
- tree call = rs6000_builtin_decls_x[RS6000_BIF_XVMULSP];
+ tree call = rs6000_builtin_decls[RS6000_BIF_XVMULSP];
return build_call_expr (call, 2, arg0, arg1);
}
case E_DFmode:
{
/* For doubles use the xvmuldp instruction directly. */
- tree call = rs6000_builtin_decls_x[RS6000_BIF_XVMULDP];
+ tree call = rs6000_builtin_decls[RS6000_BIF_XVMULDP];
return build_call_expr (call, 2, arg0, arg1);
}
/* Other types are errors. */
vec_safe_push (params, arg0);
vec_safe_push (params, arg1);
tree call = altivec_resolve_overloaded_builtin
- (loc, rs6000_builtin_decls_x[RS6000_OVLD_VEC_CMPEQ],
+ (loc, rs6000_builtin_decls[RS6000_OVLD_VEC_CMPEQ],
params);
/* Use save_expr to ensure that operands used more than once
that may have side effects (like calls) are only evaluated
vec_safe_push (params, call);
vec_safe_push (params, call);
return altivec_resolve_overloaded_builtin
- (loc, rs6000_builtin_decls_x[RS6000_OVLD_VEC_NOR], params);
+ (loc, rs6000_builtin_decls[RS6000_OVLD_VEC_NOR], params);
}
/* Other types are errors. */
default:
vec_safe_push (params, arg1);
if (fcode == RS6000_OVLD_VEC_ADDE)
- add_sub_builtin = rs6000_builtin_decls_x[RS6000_OVLD_VEC_ADD];
+ add_sub_builtin = rs6000_builtin_decls[RS6000_OVLD_VEC_ADD];
else
- add_sub_builtin = rs6000_builtin_decls_x[RS6000_OVLD_VEC_SUB];
+ add_sub_builtin = rs6000_builtin_decls[RS6000_OVLD_VEC_SUB];
tree call
= altivec_resolve_overloaded_builtin (loc, add_sub_builtin,
vec_safe_push (params, arg1);
if (fcode == RS6000_OVLD_VEC_ADDEC)
- as_c_builtin = rs6000_builtin_decls_x[RS6000_OVLD_VEC_ADDC];
+ as_c_builtin = rs6000_builtin_decls[RS6000_OVLD_VEC_ADDC];
else
- as_c_builtin = rs6000_builtin_decls_x[RS6000_OVLD_VEC_SUBC];
+ as_c_builtin = rs6000_builtin_decls[RS6000_OVLD_VEC_SUBC];
tree call1 = altivec_resolve_overloaded_builtin (loc, as_c_builtin,
params);
vec_safe_push (params, arg1);
if (fcode == RS6000_OVLD_VEC_ADDEC)
- as_builtin = rs6000_builtin_decls_x[RS6000_OVLD_VEC_ADD];
+ as_builtin = rs6000_builtin_decls[RS6000_OVLD_VEC_ADD];
else
- as_builtin = rs6000_builtin_decls_x[RS6000_OVLD_VEC_SUB];
+ as_builtin = rs6000_builtin_decls[RS6000_OVLD_VEC_SUB];
tree call2 = altivec_resolve_overloaded_builtin (loc, as_builtin,
params);
params = make_tree_vector ();
vec_safe_push (params, call1);
vec_safe_push (params, call2);
- tree or_builtin = rs6000_builtin_decls_x[RS6000_OVLD_VEC_OR];
+ tree or_builtin = rs6000_builtin_decls[RS6000_OVLD_VEC_OR];
return altivec_resolve_overloaded_builtin (loc, or_builtin,
params);
}
break;
case E_V1TImode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V1TI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V1TI];
break;
case E_V2DFmode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V2DF];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V2DF];
break;
case E_V2DImode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V2DI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V2DI];
break;
case E_V4SFmode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V4SF];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V4SF];
break;
case E_V4SImode:
if (TARGET_DIRECT_MOVE_64BIT)
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V4SI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V4SI];
break;
case E_V8HImode:
if (TARGET_DIRECT_MOVE_64BIT)
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V8HI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V8HI];
break;
case E_V16QImode:
if (TARGET_DIRECT_MOVE_64BIT)
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V16QI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V16QI];
break;
}
}
break;
case E_V2DFmode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V2DF];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V2DF];
break;
case E_V2DImode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V2DI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V2DI];
break;
case E_V4SFmode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V4SF];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V4SF];
break;
case E_V4SImode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V4SI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V4SI];
break;
case E_V8HImode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V8HI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V8HI];
break;
case E_V16QImode:
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_EXT_V16QI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_EXT_V16QI];
break;
}
}
arg2 = wide_int_to_tree (TREE_TYPE (arg2), selector);
if (mode == V2DFmode)
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_SET_V2DF];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_SET_V2DF];
else if (mode == V2DImode)
- call = rs6000_builtin_decls_x[RS6000_BIF_VEC_SET_V2DI];
+ call = rs6000_builtin_decls[RS6000_BIF_VEC_SET_V2DI];
/* Note, __builtin_vec_insert_<xxx> has vector and scalar types
reversed. */
else if (mode == V1TImode && VECTOR_UNIT_VSX_P (mode)
&& TREE_CODE (arg2) == INTEGER_CST)
{
- tree call = rs6000_builtin_decls_x[RS6000_BIF_VEC_SET_V1TI];
+ tree call = rs6000_builtin_decls[RS6000_BIF_VEC_SET_V1TI];
wide_int selector = wi::zero(32);
arg2 = wide_int_to_tree (TREE_TYPE (arg2), selector);
instance = instance->next;
gcc_assert (instance != NULL);
- tree fntype = rs6000_builtin_info_x[instance->bifid].fntype;
+ tree fntype = rs6000_builtin_info[instance->bifid].fntype;
tree parmtype0 = TREE_VALUE (TYPE_ARG_TYPES (fntype));
tree parmtype1 = TREE_VALUE (TREE_CHAIN (TYPE_ARG_TYPES (fntype)));
instance = instance->next;
gcc_assert (instance != NULL);
- tree fntype = rs6000_builtin_info_x[instance->bifid].fntype;
+ tree fntype = rs6000_builtin_info[instance->bifid].fntype;
tree parmtype0 = TREE_VALUE (TYPE_ARG_TYPES (fntype));
tree parmtype1 = TREE_VALUE (TREE_CHAIN (TYPE_ARG_TYPES (fntype)));
if (rs6000_builtin_decl (instance->bifid, false) != error_mark_node
&& supported)
{
- tree fntype = rs6000_builtin_info_x[instance->bifid].fntype;
+ tree fntype = rs6000_builtin_info[instance->bifid].fntype;
tree ret_type = TREE_TYPE (instance->fntype);
return altivec_build_resolved_builtin (args, n, fntype,
ret_type,
/* Provide clarity of the relationship between the overload
and the instantiation. */
const char *internal_name
- = rs6000_builtin_info_x[instance->bifid].bifname;
+ = rs6000_builtin_info[instance->bifid].bifname;
rich_location richloc (line_table, input_location);
inform (&richloc,
"overloaded builtin %qs is implemented by builtin %qs",
rs6000_invalid_builtin (enum rs6000_gen_builtins fncode)
{
size_t j = (size_t) fncode;
- const char *name = rs6000_builtin_info_x[j].bifname;
+ const char *name = rs6000_builtin_info[j].bifname;
- switch (rs6000_builtin_info_x[j].enable)
+ switch (rs6000_builtin_info[j].enable)
{
case ENB_P5:
error ("%qs requires the %qs option", name, "-mcpu=power5");
bool
rs6000_builtin_is_supported (enum rs6000_gen_builtins fncode)
{
- switch (rs6000_builtin_info_x[(size_t) fncode].enable)
+ switch (rs6000_builtin_info[(size_t) fncode].enable)
{
case ENB_ALWAYS:
return true;
gimple *stmt = gsi_stmt (*gsi);
size_t fncode = (size_t) fn_code;
- if (!bif_is_mma (rs6000_builtin_info_x[fncode]))
+ if (!bif_is_mma (rs6000_builtin_info[fncode]))
return false;
/* Each call that can be gimple-expanded has an associated built-in
function that it will expand into. If this one doesn't, we have
already expanded it! Exceptions: lxvp and stxvp. */
- if (rs6000_builtin_info_x[fncode].assoc_bif == RS6000_BIF_NONE
+ if (rs6000_builtin_info[fncode].assoc_bif == RS6000_BIF_NONE
&& fncode != RS6000_BIF_LXVP
&& fncode != RS6000_BIF_STXVP)
return false;
- bifdata *bd = &rs6000_builtin_info_x[fncode];
+ bifdata *bd = &rs6000_builtin_info[fncode];
unsigned nopnds = bd->nargs;
gimple_seq new_seq = NULL;
gimple *new_call;
to emit a xxmfacc instruction now, since we cannot do it later. */
if (fncode == RS6000_BIF_DISASSEMBLE_ACC)
{
- new_decl = rs6000_builtin_decls_x[RS6000_BIF_XXMFACC_INTERNAL];
+ new_decl = rs6000_builtin_decls[RS6000_BIF_XXMFACC_INTERNAL];
new_call = gimple_build_call (new_decl, 1, src);
src = create_tmp_reg_or_ssa_name (vector_quad_type_node);
gimple_call_set_lhs (new_call, src);
/* Copy the accumulator/pair vector by vector. */
new_decl
- = rs6000_builtin_decls_x[rs6000_builtin_info_x[fncode].assoc_bif];
+ = rs6000_builtin_decls[rs6000_builtin_info[fncode].assoc_bif];
tree dst_type = build_pointer_type_for_mode (unsigned_V16QI_type_node,
ptr_mode, true);
tree dst_base = build1 (VIEW_CONVERT_EXPR, dst_type, dst_ptr);
/* Convert this built-in into an internal version that uses pass-by-value
arguments. The internal built-in is found in the assoc_bif field. */
- new_decl = rs6000_builtin_decls_x[rs6000_builtin_info_x[fncode].assoc_bif];
+ new_decl = rs6000_builtin_decls[rs6000_builtin_info[fncode].assoc_bif];
tree lhs, op[MAX_MMA_OPERANDS];
tree acc = gimple_call_arg (stmt, 0);
push_gimplify_context (true);
gimple *g;
size_t uns_fncode = (size_t) fn_code;
- enum insn_code icode = rs6000_builtin_info_x[uns_fncode].icode;
- const char *fn_name1 = rs6000_builtin_info_x[uns_fncode].bifname;
+ enum insn_code icode = rs6000_builtin_info[uns_fncode].icode;
+ const char *fn_name1 = rs6000_builtin_info[uns_fncode].bifname;
const char *fn_name2 = (icode != CODE_FOR_nothing)
? get_insn_name ((int) icode)
: "nothing";
if (TREE_CODE (arg) != STRING_CST)
{
error ("builtin %qs only accepts a string argument",
- rs6000_builtin_info_x[(size_t) fcode].bifname);
+ rs6000_builtin_info[(size_t) fcode].bifname);
return const0_rtx;
}
{
/* Invalid CPU argument. */
error ("cpu %qs is an invalid argument to builtin %qs",
- cpu, rs6000_builtin_info_x[(size_t) fcode].bifname);
+ cpu, rs6000_builtin_info[(size_t) fcode].bifname);
return const0_rtx;
}
/* Invalid HWCAP argument. */
error ("%s %qs is an invalid argument to builtin %qs",
"hwcap", hwcap,
- rs6000_builtin_info_x[(size_t) fcode].bifname);
+ rs6000_builtin_info[(size_t) fcode].bifname);
return const0_rtx;
}
#else
warning (0, "builtin %qs needs GLIBC (2.23 and newer) that exports hardware "
- "capability bits", rs6000_builtin_info_x[(size_t) fcode].bifname);
+ "capability bits", rs6000_builtin_info[(size_t) fcode].bifname);
/* For old LIBCs, always return FALSE. */
emit_move_insn (target, GEN_INT (0));
enum rs6000_gen_builtins fcode
= (enum rs6000_gen_builtins) DECL_MD_FUNCTION_CODE (fndecl);
size_t uns_fcode = (size_t)fcode;
- enum insn_code icode = rs6000_builtin_info_x[uns_fcode].icode;
+ enum insn_code icode = rs6000_builtin_info[uns_fcode].icode;
/* TODO: The following commentary and code is inherited from the original
builtin processing code. The commentary is a bit confusing, with the
/* In case of "#pragma target" changes, we initialize all builtins
but check for actual availability now, during expand time. For
invalid builtins, generate a normal call. */
- bifdata *bifaddr = &rs6000_builtin_info_x[uns_fcode];
+ bifdata *bifaddr = &rs6000_builtin_info[uns_fcode];
bif_enable e = bifaddr->enable;
if (!(e == ENB_ALWAYS
fprintf (stderr, "\nAutogenerated built-in functions:\n\n");
for (int i = 1; i < (int) RS6000_BIF_MAX; i++)
{
- bif_enable e = rs6000_builtin_info_x[i].enable;
+ bif_enable e = rs6000_builtin_info[i].enable;
if (e == ENB_P5 && !TARGET_POPCNTB)
continue;
if (e == ENB_P6 && !TARGET_CMPB)
continue;
if (e == ENB_MMA && !TARGET_MMA)
continue;
- tree fntype = rs6000_builtin_info_x[i].fntype;
+ tree fntype = rs6000_builtin_info[i].fntype;
tree t = TREE_TYPE (fntype);
fprintf (stderr, "%s %s (", rs6000_type_string (t),
- rs6000_builtin_info_x[i].bifname);
+ rs6000_builtin_info[i].bifname);
t = TYPE_ARG_TYPES (fntype);
while (t && TREE_VALUE (t) != void_type_node)
{
fprintf (stderr, ", ");
}
fprintf (stderr, "); %s [%4d]\n",
- rs6000_builtin_info_x[i].attr_string, (int) i);
+ rs6000_builtin_info[i].attr_string, (int) i);
}
fprintf (stderr, "\nEnd autogenerated built-in functions.\n\n\n");
}
}
altivec_builtin_mask_for_load
- = rs6000_builtin_decls_x[RS6000_BIF_MASK_FOR_LOAD];
+ = rs6000_builtin_decls[RS6000_BIF_MASK_FOR_LOAD];
#ifdef SUBTARGET_INIT_BUILTINS
SUBTARGET_INIT_BUILTINS;
if (fcode >= RS6000_OVLD_MAX)
return error_mark_node;
- return rs6000_builtin_decls_x[code];
+ return rs6000_builtin_decls[code];
}
/* Return the internal arg pointer used for function incoming
fprintf (header_file, " RS6000_OVLD_MAX\n};\n\n");
fprintf (header_file,
- "extern GTY(()) tree rs6000_builtin_decls_x[RS6000_OVLD_MAX];\n\n");
+ "extern GTY(()) tree rs6000_builtin_decls[RS6000_OVLD_MAX];\n\n");
fprintf (header_file,
"enum rs6000_ovld_instances\n{\n RS6000_INST_NONE,\n");
"#define bif_is_ibmld(x)\t((x).bifattrs & bif_ibmld_bit)\n");
fprintf (header_file, "\n");
- /* #### Note that the _x is added for now to avoid conflict with
- the existing rs6000_builtin_info[] file while testing. It will
- be removed as we progress. */
/* #### Cannot mark this as a GC root because only pointer types can
be marked as GTY((user)) and be GC roots. All trees in here are
kept alive by other globals, so not a big deal. Alternatively,
to avoid requiring a GTY((user)) designation, but that seems
unnecessarily gross. */
fprintf (header_file,
- "extern bifdata rs6000_builtin_info_x[RS6000_BIF_MAX];\n\n");
+ "extern bifdata rs6000_builtin_info[RS6000_BIF_MAX];\n\n");
fprintf (header_file, "struct GTY((user)) ovlddata\n");
fprintf (header_file, "{\n");
return 1;
}
-/* Write the decl and initializer for rs6000_builtin_info_x[]. */
+/* Write the decl and initializer for rs6000_builtin_info[]. */
static void
write_bif_static_init (void)
{
const char *res[3];
- fprintf (init_file, "bifdata rs6000_builtin_info_x[RS6000_BIF_MAX] =\n");
+ fprintf (init_file, "bifdata rs6000_builtin_info[RS6000_BIF_MAX] =\n");
fprintf (init_file, " {\n");
fprintf (init_file, " { /* RS6000_BIF_NONE: */\n");
fprintf (init_file, " \"\", ENB_ALWAYS, 0, CODE_FOR_nothing, 0,\n");
for (int i = 0; i <= curr_bif; i++)
{
fprintf (init_file,
- " rs6000_builtin_info_x[RS6000_BIF_%s].fntype"
+ " rs6000_builtin_info[RS6000_BIF_%s].fntype"
"\n = %s;\n",
bifs[i].idname, bifs[i].fndecl);
}
fprintf (init_file,
- " rs6000_builtin_decls_x[(int)RS6000_BIF_%s] = t\n",
+ " rs6000_builtin_decls[(int)RS6000_BIF_%s] = t\n",
bifs[i].idname);
fprintf (init_file,
" = add_builtin_function (\"%s\",\n",
fprintf (init_file, " }\n");
fprintf (init_file, " else\n");
fprintf (init_file, " {\n");
- fprintf (init_file, " rs6000_builtin_decls_x"
+ fprintf (init_file, " rs6000_builtin_decls"
"[(int)RS6000_BIF_%s] = NULL_TREE;\n", bifs[i].idname);
fprintf (init_file, " }\n");
}
}
fprintf (init_file,
- " rs6000_builtin_decls_x[(int)RS6000_OVLD_%s] = t\n",
+ " rs6000_builtin_decls[(int)RS6000_OVLD_%s] = t\n",
stanza->stanza_id);
fprintf (init_file,
" = add_builtin_function (\"%s\",\n",
fprintf (init_file, "#include \"rs6000-builtins.h\"\n");
fprintf (init_file, "\n");
- fprintf (init_file, "tree rs6000_builtin_decls_x[RS6000_OVLD_MAX];\n\n");
+ fprintf (init_file, "tree rs6000_builtin_decls[RS6000_OVLD_MAX];\n\n");
write_bif_static_init ();
write_ovld_static_init ();
fprintf (init_file, "\n");
fprintf (init_file,
- " rs6000_builtin_decls_x[RS6000_BIF_NONE] = NULL_TREE;\n");
+ " rs6000_builtin_decls[RS6000_BIF_NONE] = NULL_TREE;\n");
fprintf (init_file,
- " rs6000_builtin_decls_x[RS6000_BIF_MAX] = NULL_TREE;\n");
+ " rs6000_builtin_decls[RS6000_BIF_MAX] = NULL_TREE;\n");
fprintf (init_file,
- " rs6000_builtin_decls_x[RS6000_OVLD_NONE] = NULL_TREE;\n\n");
+ " rs6000_builtin_decls[RS6000_OVLD_NONE] = NULL_TREE;\n\n");
write_init_bif_table ();
write_init_ovld_table ();
if (VECTOR_UNIT_VSX_P (V2DFmode)
&& out_mode == DFmode && out_n == 2
&& in_mode == DFmode && in_n == 2)
- return rs6000_builtin_decls_x[RS6000_BIF_CPSGNDP];
+ return rs6000_builtin_decls[RS6000_BIF_CPSGNDP];
if (VECTOR_UNIT_VSX_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_CPSGNSP];
+ return rs6000_builtin_decls[RS6000_BIF_CPSGNSP];
if (VECTOR_UNIT_ALTIVEC_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_COPYSIGN_V4SF];
+ return rs6000_builtin_decls[RS6000_BIF_COPYSIGN_V4SF];
break;
CASE_CFN_CEIL:
if (VECTOR_UNIT_VSX_P (V2DFmode)
&& out_mode == DFmode && out_n == 2
&& in_mode == DFmode && in_n == 2)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRDPIP];
+ return rs6000_builtin_decls[RS6000_BIF_XVRDPIP];
if (VECTOR_UNIT_VSX_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRSPIP];
+ return rs6000_builtin_decls[RS6000_BIF_XVRSPIP];
if (VECTOR_UNIT_ALTIVEC_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_VRFIP];
+ return rs6000_builtin_decls[RS6000_BIF_VRFIP];
break;
CASE_CFN_FLOOR:
if (VECTOR_UNIT_VSX_P (V2DFmode)
&& out_mode == DFmode && out_n == 2
&& in_mode == DFmode && in_n == 2)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRDPIM];
+ return rs6000_builtin_decls[RS6000_BIF_XVRDPIM];
if (VECTOR_UNIT_VSX_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRSPIM];
+ return rs6000_builtin_decls[RS6000_BIF_XVRSPIM];
if (VECTOR_UNIT_ALTIVEC_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_VRFIM];
+ return rs6000_builtin_decls[RS6000_BIF_VRFIM];
break;
CASE_CFN_FMA:
if (VECTOR_UNIT_VSX_P (V2DFmode)
&& out_mode == DFmode && out_n == 2
&& in_mode == DFmode && in_n == 2)
- return rs6000_builtin_decls_x[RS6000_BIF_XVMADDDP];
+ return rs6000_builtin_decls[RS6000_BIF_XVMADDDP];
if (VECTOR_UNIT_VSX_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_XVMADDSP];
+ return rs6000_builtin_decls[RS6000_BIF_XVMADDSP];
if (VECTOR_UNIT_ALTIVEC_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_VMADDFP];
+ return rs6000_builtin_decls[RS6000_BIF_VMADDFP];
break;
CASE_CFN_TRUNC:
if (VECTOR_UNIT_VSX_P (V2DFmode)
&& out_mode == DFmode && out_n == 2
&& in_mode == DFmode && in_n == 2)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRDPIZ];
+ return rs6000_builtin_decls[RS6000_BIF_XVRDPIZ];
if (VECTOR_UNIT_VSX_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRSPIZ];
+ return rs6000_builtin_decls[RS6000_BIF_XVRSPIZ];
if (VECTOR_UNIT_ALTIVEC_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_VRFIZ];
+ return rs6000_builtin_decls[RS6000_BIF_VRFIZ];
break;
CASE_CFN_NEARBYINT:
if (VECTOR_UNIT_VSX_P (V2DFmode)
&& flag_unsafe_math_optimizations
&& out_mode == DFmode && out_n == 2
&& in_mode == DFmode && in_n == 2)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRDPI];
+ return rs6000_builtin_decls[RS6000_BIF_XVRDPI];
if (VECTOR_UNIT_VSX_P (V4SFmode)
&& flag_unsafe_math_optimizations
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRSPI];
+ return rs6000_builtin_decls[RS6000_BIF_XVRSPI];
break;
CASE_CFN_RINT:
if (VECTOR_UNIT_VSX_P (V2DFmode)
&& !flag_trapping_math
&& out_mode == DFmode && out_n == 2
&& in_mode == DFmode && in_n == 2)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRDPIC];
+ return rs6000_builtin_decls[RS6000_BIF_XVRDPIC];
if (VECTOR_UNIT_VSX_P (V4SFmode)
&& !flag_trapping_math
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_XVRSPIC];
+ return rs6000_builtin_decls[RS6000_BIF_XVRSPIC];
break;
default:
break;
if (VECTOR_UNIT_ALTIVEC_OR_VSX_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_VRSQRTFP];
+ return rs6000_builtin_decls[RS6000_BIF_VRSQRTFP];
break;
case RS6000_BIF_RSQRT:
if (VECTOR_UNIT_VSX_P (V2DFmode)
&& out_mode == DFmode && out_n == 2
&& in_mode == DFmode && in_n == 2)
- return rs6000_builtin_decls_x[RS6000_BIF_RSQRT_2DF];
+ return rs6000_builtin_decls[RS6000_BIF_RSQRT_2DF];
break;
case RS6000_BIF_RECIPF:
if (VECTOR_UNIT_ALTIVEC_OR_VSX_P (V4SFmode)
&& out_mode == SFmode && out_n == 4
&& in_mode == SFmode && in_n == 4)
- return rs6000_builtin_decls_x[RS6000_BIF_VRECIPFP];
+ return rs6000_builtin_decls[RS6000_BIF_VRECIPFP];
break;
case RS6000_BIF_RECIP:
if (VECTOR_UNIT_VSX_P (V2DFmode)
&& out_mode == DFmode && out_n == 2
&& in_mode == DFmode && in_n == 2)
- return rs6000_builtin_decls_x[RS6000_BIF_RECIP_V2DF];
+ return rs6000_builtin_decls[RS6000_BIF_RECIP_V2DF];
break;
default:
break;
}
if (in_mode == exp_mode && in_vmode == exp_vmode)
- return rs6000_builtin_decls_x[bif];
+ return rs6000_builtin_decls[bif];
}
return NULL_TREE;
if (!RS6000_RECIP_AUTO_RSQRTE_P (V2DFmode))
return NULL_TREE;
- return rs6000_builtin_decls_x[RS6000_BIF_RSQRT_2DF];
+ return rs6000_builtin_decls[RS6000_BIF_RSQRT_2DF];
case RS6000_BIF_XVSQRTSP:
if (!RS6000_RECIP_AUTO_RSQRTE_P (V4SFmode))
return NULL_TREE;
- return rs6000_builtin_decls_x[RS6000_BIF_RSQRT_4SF];
+ return rs6000_builtin_decls[RS6000_BIF_RSQRT_4SF];
default:
return NULL_TREE;
tree bool_zero = build_int_cst (bool_int_type_node, 0);
tree cond_var = create_tmp_var (bool_int_type_node);
- tree predicate_decl = rs6000_builtin_decls_x[(int) RS6000_BIF_CPU_SUPPORTS];
+ tree predicate_decl = rs6000_builtin_decls[(int) RS6000_BIF_CPU_SUPPORTS];
const char *arg_str = rs6000_clone_map[clone_isa].name;
tree predicate_arg = build_string_literal (strlen (arg_str) + 1, arg_str);
gimple *call_cond_stmt = gimple_build_call (predicate_decl, 1, predicate_arg);
return;
}
- tree mffs = rs6000_builtin_decls_x[RS6000_BIF_MFFS];
- tree mtfsf = rs6000_builtin_decls_x[RS6000_BIF_MTFSF];
+ tree mffs = rs6000_builtin_decls[RS6000_BIF_MFFS];
+ tree mtfsf = rs6000_builtin_decls[RS6000_BIF_MTFSF];
tree call_mffs = build_call_expr (mffs, 0);
/* Generates the equivalent of feholdexcept (&fenv_var)