[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