aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2009-08-14 20:54:48 +0200
committerUros Bizjak <uros@gcc.gnu.org>2009-08-14 20:54:48 +0200
commit387c39e1ec5495397ee67700ca21c971910fc28a (patch)
treecac68c1925d493dad814b2187ebcccf0533f420f /gcc
parentc105751c468d9a05fb65ad1a22b8899dc1a1ae51 (diff)
downloadgcc-387c39e1ec5495397ee67700ca21c971910fc28a.zip
gcc-387c39e1ec5495397ee67700ca21c971910fc28a.tar.gz
gcc-387c39e1ec5495397ee67700ca21c971910fc28a.tar.bz2
alpha.c (alpha_emit_conditional_move): Handle TFmode compares.
* config/alpha/alpha.c (alpha_emit_conditional_move): Handle TFmode compares. From-SVN: r150773
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog14
-rw-r--r--gcc/config/alpha/alpha.c7
2 files changed, 16 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f9b0323..881903f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,7 +1,11 @@
+2009-08-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_emit_conditional_move): Handle
+ TFmode compares.
+
2009-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
PR middle-end/30789
-
* builtins.c (do_mpc_arg2): Make extern, define for any MPC
version. Move declaration...
* real.h (do_mpc_arg2): ... here.
@@ -27,7 +31,7 @@
PR target/40934
* config/i386/i386.c (ix86_fp_comparison_strategy):
- Only enable/disable sahf at function granularity.
+ Only enable/disable sahf at function granularity.
2009-08-14 Hans-Peter Nilsson <hp@axis.com>
@@ -58,11 +62,11 @@
2009-08-13 Ghassan Shobaki <ghassan.shobaki@amd.com>
- * tree-ssa-loop-prefetch.c
- (prune_ref_by_group_reuse): Enhance probabilistic analysis
+ * tree-ssa-loop-prefetch.c
+ (prune_ref_by_group_reuse): Enhance probabilistic analysis
for long-stride pruning.
(compute_miss_rate): New function to compute the probability
- that two memory references access different cache lines.
+ that two memory references access different cache lines.
2009-08-13 Dave Korn <dave.korn.cygwin@gmail.com>
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 532e130..1e76165 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -2666,6 +2666,13 @@ alpha_emit_conditional_move (rtx cmp, enum machine_mode mode)
int local_fast_math = flag_unsafe_math_optimizations;
rtx tem;
+ if (cmp_mode == TFmode)
+ {
+ op0 = alpha_emit_xfloating_compare (&code, op0, op1);
+ op1 = const0_rtx;
+ cmp_mode = DImode;
+ }
+
gcc_assert (cmp_mode == DFmode || cmp_mode == DImode);
if (FLOAT_MODE_P (cmp_mode) != FLOAT_MODE_P (mode))