OSDN Git Service

* config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Nov 2003 18:17:20 +0000 (18:17 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Nov 2003 18:17:20 +0000 (18:17 +0000)
error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73276 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 5c9c5ef..8f40fac 100644 (file)
@@ -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.
 
index e7191a6..f2bc8d5 100644 (file)
@@ -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.  */