aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2010-09-28 07:50:02 +0000
committerTristan Gingold <gingold@gcc.gnu.org>2010-09-28 07:50:02 +0000
commitd5ad88c0d2b067a5199a41b0aed18477dbee68db (patch)
tree85dad2f833481a678714fa782958918a048ed391 /gcc
parent4150f926c6c50455f5552a02e6fdc8e2e28a7441 (diff)
downloadgcc-d5ad88c0d2b067a5199a41b0aed18477dbee68db.zip
gcc-d5ad88c0d2b067a5199a41b0aed18477dbee68db.tar.gz
gcc-d5ad88c0d2b067a5199a41b0aed18477dbee68db.tar.bz2
alpha.md: Change the initial condition of the probing loop.
2010-09-28 Tristan Gingold <gingold@adacore.com> * config/alpha/alpha.md: Change the initial condition of the probing loop. From-SVN: r164677
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/alpha/alpha.md8
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b60b287..83e04de 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-09-28 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/alpha.md: Change the initial condition of the
+ probing loop.
+
2010-09-28 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (*avx_<umaxmin:code><mode>3):
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index bcf572f..579fa01 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -6588,15 +6588,17 @@
emit_insn (gen_subdi3 (want, stack_pointer_rtx,
force_reg (Pmode, operands[1])));
- emit_insn (gen_adddi3 (tmp, stack_pointer_rtx, GEN_INT (-4096)));
if (!CONST_INT_P (operands[1]))
{
+ rtx limit = GEN_INT (4096);
out_label = gen_label_rtx ();
- test = gen_rtx_GEU (VOIDmode, want, tmp);
- emit_jump_insn (gen_cbranchdi4 (test, want, tmp, out_label));
+ test = gen_rtx_LTU (VOIDmode, operands[1], limit);
+ emit_jump_insn
+ (gen_cbranchdi4 (test, operands[1], limit, out_label));
}
+ emit_insn (gen_adddi3 (tmp, stack_pointer_rtx, GEN_INT (-4096)));
emit_label (loop_label);
memref = gen_rtx_MEM (DImode, tmp);
MEM_VOLATILE_P (memref) = 1;