diff options
author | Roger Sayle <roger@eyesopen.com> | 2005-04-05 01:38:56 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2005-04-05 01:38:56 +0000 |
commit | acaa3bf7a13e5589d1b554c1a13432900ee2d219 (patch) | |
tree | 66c4c419405bc69ccb2b5048d909db3ec6d2d81e /gcc | |
parent | 604f5adf98a598801856cbf365c6136f6eee7464 (diff) | |
download | gcc-acaa3bf7a13e5589d1b554c1a13432900ee2d219.zip gcc-acaa3bf7a13e5589d1b554c1a13432900ee2d219.tar.gz gcc-acaa3bf7a13e5589d1b554c1a13432900ee2d219.tar.bz2 |
i386.md (*truncdfsf2_i387_1): New pattern.
* config/i386/i386.md (*truncdfsf2_i387_1): New pattern.
* fold-const.c (maybe_lvalue_p): Delete orphaned comment.
From-SVN: r97594
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 16 | ||||
-rw-r--r-- | gcc/fold-const.c | 1 |
3 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b3e4dcd..cd88e03 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-04-04 Roger Sayle <roger@eyesopen.com> + + * config/i386/i386.md (*truncdfsf2_i387_1): New pattern. + + * fold-const.c (maybe_lvalue_p): Delete orphaned comment. + 2005-04-04 Ian Lance Taylor <ian@airs.com> * c-typeck.c (struct c_switch): Rename switch_stmt field to diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 5fc7fab..f9df272 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -3787,6 +3787,22 @@ [(set_attr "type" "fmov,multi") (set_attr "mode" "SF")]) +(define_insn "*truncdfsf2_i387_1" + [(set (match_operand:SF 0 "memory_operand" "=m") + (float_truncate:SF + (match_operand:DF 1 "register_operand" "f")))] + "TARGET_80387 + && !(TARGET_SSE2 && TARGET_SSE_MATH) + && !TARGET_MIX_SSE_I387" +{ + if (find_regno_note (insn, REG_DEAD, REGNO (operands[1]))) + return "fstp%z0\t%y0"; + else + return "fst%z0\t%y0"; +} + [(set_attr "type" "fmov") + (set_attr "mode" "SF")]) + (define_split [(set (match_operand:SF 0 "register_operand" "") (float_truncate:SF diff --git a/gcc/fold-const.c b/gcc/fold-const.c index efbf8ed..c59a981 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -2005,7 +2005,6 @@ fold_convert (tree type, tree arg) /* Return false if expr can be assumed not to be an value, true otherwise. */ -/* Return an expr equal to X but certainly not valid as an lvalue. */ static bool maybe_lvalue_p (tree x) |