aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2003-11-05 18:17:20 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2003-11-05 18:17:20 +0000
commita6cf80f29cd5353bc4e22fee9b87abec03b5e6b2 (patch)
treed80cb05ec00f652d9cc8f48403dc97afa290b60f /gcc
parent142d1f57d6c4a40bcf07a243bf71465bf72b1012 (diff)
downloadgcc-a6cf80f29cd5353bc4e22fee9b87abec03b5e6b2.zip
gcc-a6cf80f29cd5353bc4e22fee9b87abec03b5e6b2.tar.gz
gcc-a6cf80f29cd5353bc4e22fee9b87abec03b5e6b2.tar.bz2
rs6000.c (compute_vrsave_mask): Correct off-by-one error.
* config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one error. From-SVN: r73276
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/rs6000/rs6000.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5c9c5ef..8f40fac 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -12,6 +12,9 @@
2003-11-05 Geoffrey Keating <geoffk@apple.com>
+ * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
+ error.
+
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
needs VRSAVE.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index e7191a6..f2bc8d5 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -10109,7 +10109,7 @@ compute_vrsave_mask (void)
them in again. More importantly, the mask we compute here is
used to generate CLOBBERs in the set_vrsave insn, and we do not
wish the argument registers to die. */
- for (i = cfun->args_info.vregno; i >= ALTIVEC_ARG_MIN_REG; --i)
+ for (i = cfun->args_info.vregno - 1; i >= ALTIVEC_ARG_MIN_REG; --i)
mask &= ~ALTIVEC_REG_BIT (i);
/* Similarly, remove the return value from the set. */