static bool
use_rsqrt_p ()
{
- return (TARGET_SSE_MATH
+ return (TARGET_SSE && TARGET_SSE_MATH
&& flag_finite_math_only
&& !flag_trapping_math
&& flag_unsafe_math_optimizations);
there is no adddf3 pattern (since x87 floating point only has
XFmode operations) so the default hook implementation gets this
wrong. */
- return TARGET_80387 || TARGET_SSE_MATH;
+ return TARGET_80387 || (TARGET_SSE && TARGET_SSE_MATH);
}
/* Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV. */
static void
ix86_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update)
{
- if (!TARGET_80387 && !TARGET_SSE_MATH)
+ if (!TARGET_80387 && !(TARGET_SSE && TARGET_SSE_MATH))
return;
tree exceptions_var = create_tmp_var_raw (integer_type_node);
if (TARGET_80387)
tree update_fldenv = build_call_expr (fldenv, 1, fenv_addr);
*update = build2 (COMPOUND_EXPR, void_type_node, *update, update_fldenv);
}
- if (TARGET_SSE_MATH)
+ if (TARGET_SSE && TARGET_SSE_MATH)
{
tree mxcsr_orig_var = create_tmp_var_raw (unsigned_type_node);
tree mxcsr_mod_var = create_tmp_var_raw (unsigned_type_node);
return FLT_EVAL_METHOD_PROMOTE_TO_FLOAT;
else if (!TARGET_MIX_SSE_I387)
{
- if (!TARGET_SSE_MATH)
+ if (!(TARGET_SSE && TARGET_SSE_MATH))
return FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE;
else if (TARGET_SSE2)
return FLT_EVAL_METHOD_PROMOTE_TO_FLOAT;