aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-09-14 14:33:07 +0000
committerRichard Stallman <rms@gnu.org>1992-09-14 14:33:07 +0000
commit57caa638af543fe30bd9456b448b8a03b6b4b970 (patch)
tree2cc64c3803cbfe17d44d9489f2f07bb6b0cf9d8e /gcc
parent4cf8de9f3eb5c333a2d73fa813e2cf0769b12b02 (diff)
downloadgcc-57caa638af543fe30bd9456b448b8a03b6b4b970.zip
gcc-57caa638af543fe30bd9456b448b8a03b6b4b970.tar.gz
gcc-57caa638af543fe30bd9456b448b8a03b6b4b970.tar.bz2
*** empty log message ***
From-SVN: r2119
Diffstat (limited to 'gcc')
-rw-r--r--gcc/reload1.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 8eee024..6f972f4 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -364,13 +364,20 @@ init_reload ()
/* See if reg+reg is a valid (and offsettable) address. */
- tem = gen_rtx (PLUS, Pmode,
- gen_rtx (REG, Pmode, FRAME_POINTER_REGNUM),
- gen_rtx (REG, Pmode, FRAME_POINTER_REGNUM));
- /* This way, we make sure that reg+reg is an offsettable address. */
- tem = plus_constant (tem, 4);
+ for (i = 0; i < FIRST_PSEUDO_REGSTER; i++)
+ {
+ tem = gen_rtx (PLUS, Pmode,
+ gen_rtx (REG, Pmode, FRAME_POINTER_REGNUM),
+ gen_rtx (REG, Pmode, i));
+ /* This way, we make sure that reg+reg is an offsettable address. */
+ tem = plus_constant (tem, 4);
- double_reg_address_ok = memory_address_p (QImode, tem);
+ if (memory_address_p (QImode, tem))
+ {
+ double_reg_address_ok = 1;
+ break;
+ }
+ }
/* Initialize obstack for our rtl allocation. */
gcc_obstack_init (&reload_obstack);