(TARGET_NO_FANCY_MATH_387): Implement new option.
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 25 Apr 1994 18:21:16 +0000 (14:21 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 25 Apr 1994 18:21:16 +0000 (14:21 -0400)
From-SVN: r7152

gcc/config/i386/i386.md

index 346a63bf60b7657cf31aa5673fe02eb7003ce99a..9557032b07c5504854d18e4af3138ab847212232 100644 (file)
 (define_insn "sqrtsf2"
   [(set (match_operand:SF 0 "register_operand" "=f")
        (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")
 
 (define_insn "sqrtdf2"
   [(set (match_operand:DF 0 "register_operand" "=f")
        (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")
 
 (define_insn ""
   [(set (match_operand:DF 0 "register_operand" "=f")
        (sqrt:DF (float_extend:DF
                  (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")
 
 (define_insn "sqrtxf2"
   [(set (match_operand:XF 0 "register_operand" "=f")
        (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")
 
 (define_insn ""
   [(set (match_operand:XF 0 "register_operand" "=f")
        (sqrt:XF (float_extend:XF
                  (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")
 
 (define_insn ""
   [(set (match_operand:XF 0 "register_operand" "=f")
        (sqrt:XF (float_extend:XF
                  (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")
 
 (define_insn "sindf2"
   [(set (match_operand:DF 0 "register_operand" "=f")
        (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")
 
 (define_insn "sinsf2"
   [(set (match_operand:SF 0 "register_operand" "=f")
        (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")
 
 (define_insn ""
   [(set (match_operand:DF 0 "register_operand" "=f")
        (unspec:DF [(float_extend:DF
                     (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")
 
 (define_insn "cosdf2"
   [(set (match_operand:DF 0 "register_operand" "=f")
        (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")
 
 (define_insn "cossf2"
   [(set (match_operand:SF 0 "register_operand" "=f")
        (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")
 
 (define_insn ""
   [(set (match_operand:DF 0 "register_operand" "=f")
        (unspec:DF [(float_extend:DF
                     (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")
 \f
 ;;- one complement instructions