Commit 157735e8 by Richard Kenner

(TARGET_NO_FANCY_MATH_387): Implement new option.

From-SVN: r7152
parent 099800e3
...@@ -2938,78 +2938,90 @@ ...@@ -2938,78 +2938,90 @@
(define_insn "sqrtsf2" (define_insn "sqrtsf2"
[(set (match_operand:SF 0 "register_operand" "=f") [(set (match_operand:SF 0 "register_operand" "=f")
(sqrt:SF (match_operand:SF 1 "general_operand" "0")))] (sqrt:SF (match_operand:SF 1 "general_operand" "0")))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fsqrt") "fsqrt")
(define_insn "sqrtdf2" (define_insn "sqrtdf2"
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(sqrt:DF (match_operand:DF 1 "general_operand" "0")))] (sqrt:DF (match_operand:DF 1 "general_operand" "0")))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fsqrt") "fsqrt")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(sqrt:DF (float_extend:DF (sqrt:DF (float_extend:DF
(match_operand:SF 1 "general_operand" "0"))))] (match_operand:SF 1 "general_operand" "0"))))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fsqrt") "fsqrt")
(define_insn "sqrtxf2" (define_insn "sqrtxf2"
[(set (match_operand:XF 0 "register_operand" "=f") [(set (match_operand:XF 0 "register_operand" "=f")
(sqrt:XF (match_operand:XF 1 "general_operand" "0")))] (sqrt:XF (match_operand:XF 1 "general_operand" "0")))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fsqrt") "fsqrt")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "register_operand" "=f") [(set (match_operand:XF 0 "register_operand" "=f")
(sqrt:XF (float_extend:XF (sqrt:XF (float_extend:XF
(match_operand:DF 1 "general_operand" "0"))))] (match_operand:DF 1 "general_operand" "0"))))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fsqrt") "fsqrt")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "register_operand" "=f") [(set (match_operand:XF 0 "register_operand" "=f")
(sqrt:XF (float_extend:XF (sqrt:XF (float_extend:XF
(match_operand:SF 1 "general_operand" "0"))))] (match_operand:SF 1 "general_operand" "0"))))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fsqrt") "fsqrt")
(define_insn "sindf2" (define_insn "sindf2"
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(unspec:DF [(match_operand:DF 1 "register_operand" "0")] 1))] (unspec:DF [(match_operand:DF 1 "register_operand" "0")] 1))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fsin") "fsin")
(define_insn "sinsf2" (define_insn "sinsf2"
[(set (match_operand:SF 0 "register_operand" "=f") [(set (match_operand:SF 0 "register_operand" "=f")
(unspec:SF [(match_operand:SF 1 "register_operand" "0")] 1))] (unspec:SF [(match_operand:SF 1 "register_operand" "0")] 1))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fsin") "fsin")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(unspec:DF [(float_extend:DF (unspec:DF [(float_extend:DF
(match_operand:SF 1 "register_operand" "0"))] 1))] (match_operand:SF 1 "register_operand" "0"))] 1))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fsin") "fsin")
(define_insn "cosdf2" (define_insn "cosdf2"
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(unspec:DF [(match_operand:DF 1 "register_operand" "0")] 2))] (unspec:DF [(match_operand:DF 1 "register_operand" "0")] 2))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fcos") "fcos")
(define_insn "cossf2" (define_insn "cossf2"
[(set (match_operand:SF 0 "register_operand" "=f") [(set (match_operand:SF 0 "register_operand" "=f")
(unspec:SF [(match_operand:SF 1 "register_operand" "0")] 2))] (unspec:SF [(match_operand:SF 1 "register_operand" "0")] 2))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fcos") "fcos")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(unspec:DF [(float_extend:DF (unspec:DF [(float_extend:DF
(match_operand:SF 1 "register_operand" "0"))] 2))] (match_operand:SF 1 "register_operand" "0"))] 2))]
"TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math)" "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& (TARGET_IEEE_FP || flag_fast_math) "
"fcos") "fcos")
;;- one complement instructions ;;- one complement instructions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment