From 0fda250c4363362ef70ed81c18bfc6555a4abe90 Mon Sep 17 00:00:00 2001 From: geoffk Date: Wed, 5 Nov 2003 18:17:20 +0000 Subject: [PATCH] * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73276 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 3 +++ gcc/config/rs6000/rs6000.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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 + * 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. */ -- 2.7.4