diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-04-25 14:21:16 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-04-25 14:21:16 -0400 |
commit | 157735e867d943d8625064fb7a9c6753ae400cde (patch) | |
tree | 68adafdd0981d1fe3c42898035482e6838d70d13 /gcc/config/i386 | |
parent | 099800e348474c5a682b1f61aa571c58051b2194 (diff) | |
download | gcc-157735e867d943d8625064fb7a9c6753ae400cde.zip gcc-157735e867d943d8625064fb7a9c6753ae400cde.tar.gz gcc-157735e867d943d8625064fb7a9c6753ae400cde.tar.bz2 |
(TARGET_NO_FANCY_MATH_387): Implement new option.
From-SVN: r7152
Diffstat (limited to 'gcc/config/i386')
-rw-r--r-- | gcc/config/i386/i386.md | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 346a63b..9557032 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -2938,78 +2938,90 @@ (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") ;;- one complement instructions |