[PATCH, i386]: Unify TARGET_SSE_MATH for sqrt* patterns
Richard Henderson
rth@redhat.com
Thu Dec 16 09:01:00 GMT 2004
On Thu, Dec 16, 2004 at 09:26:41AM +0100, Uros Bizjak wrote:
> -(define_insn "sqrtsf2_1"
> +(define_insn "*sqrtsf2_mixed"
> [(set (match_operand:SF 0 "register_operand" "=f#x,x#f")
> (sqrt:SF (match_operand:SF 1 "nonimmediate_operand" "0#x,xm#f")))]
> - "TARGET_USE_FANCY_MATH_387
> - && (TARGET_SSE_MATH && TARGET_MIX_SSE_I387)"
> + "TARGET_USE_FANCY_MATH_387 && TARGET_MIX_SSE_I387"
> "@
> fsqrt
> sqrtss\t{%1, %0|%0, %1}"
> @@ -14659,20 +14658,19 @@
> (set_attr "mode" "SF,SF")
> (set_attr "athlon_decode" "direct,*")])
>
> -(define_insn "sqrtsf2_1_sse_only"
> +(define_insn "*sqrtsf2_sse"
> [(set (match_operand:SF 0 "register_operand" "=x")
> (sqrt:SF (match_operand:SF 1 "nonimmediate_operand" "xm")))]
> - "TARGET_SSE_MATH && (!TARGET_80387 || !TARGET_MIX_SSE_I387)"
> + "TARGET_SSE_MATH && !(TARGET_USE_FANCY_MATH_387 && TARGET_MIX_SSE_I387)"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This bit is known to be true because of the shadowing sqrtsf2_mixed.
Similarly for sqrtdf2_sse.
Ok with those clauses deleted.
r~
More information about the Gcc-patches
mailing list