diff options
author | Roger Sayle <roger@eyesopen.com> | 2004-03-24 02:28:41 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-03-24 02:28:41 +0000 |
commit | 0c5faf294f9329ea1d10c3424f82339cf30d893a (patch) | |
tree | fdc5589420c8477ac11336433d27bf34a7c6705a /gcc/reg-stack.c | |
parent | cbfd7e06e59e1543e5c98074ae467f93ea4d6b55 (diff) | |
download | gcc-0c5faf294f9329ea1d10c3424f82339cf30d893a.zip gcc-0c5faf294f9329ea1d10c3424f82339cf30d893a.tar.gz gcc-0c5faf294f9329ea1d10c3424f82339cf30d893a.tar.bz2 |
reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND if flag_unsafe_math_optimizations.
* reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
if flag_unsafe_math_optimizations.
* config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
and TARGET_80387 expand using truncdfsf2_noop pattern.
(truncxfsf2): Likewise using truncxfsf2_noop.
(truncxfdf2): Likewise using truncxfdf2_noop.
(truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
From-SVN: r79893
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 22b290f..31ebddb 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -574,6 +574,13 @@ get_true_reg (rtx *pat) case FIX: case FLOAT_EXTEND: pat = & XEXP (*pat, 0); + break; + + case FLOAT_TRUNCATE: + if (!flag_unsafe_math_optimizations) + return pat; + pat = & XEXP (*pat, 0); + break; } } |