aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@koffie.nl>2003-03-10 20:36:26 +0100
committerAldy Hernandez <aldyh@gcc.gnu.org>2003-03-10 19:36:26 +0000
commit5c2424217a35eee7fa8bf1e8456b2143af632e53 (patch)
tree3a1a651b2e09b63df5057482e942cf89f31614cb /gcc
parent70144e9c6c0fd4432410c408e2bb4b6d629a0d14 (diff)
downloadgcc-5c2424217a35eee7fa8bf1e8456b2143af632e53.zip
gcc-5c2424217a35eee7fa8bf1e8456b2143af632e53.tar.gz
gcc-5c2424217a35eee7fa8bf1e8456b2143af632e53.tar.bz2
altivec-9.c: New file.
2003-03-10 Segher Boessenkool <segher@koffie.nl> * testsuite/gcc.dg/altivec-9.c: New file. * config/rs6000/rs6000.c (altivec_frame_fixup): Remove. (rs6000_emit_prologue): Use rs6000_frame_related instead. From-SVN: r64109
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c30
2 files changed, 9 insertions, 28 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f49c3d8..9cfdcb8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2003-03-10 Segher Boessenkool <segher@koffie.nl>
+
+ * testsuite/gcc.dg/altivec-9.c: New file.
+
+ * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
+ (rs6000_emit_prologue): Use rs6000_frame_related instead.
+
2003-03-10 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/spe.h: Define __ev64_*64__ to use single element
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 91c91ad..ec9008d 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -267,7 +267,6 @@ static int first_altivec_reg_to_save PARAMS ((void));
static unsigned int compute_vrsave_mask PARAMS ((void));
static void is_altivec_return_reg PARAMS ((rtx, void *));
static rtx generate_set_vrsave PARAMS ((rtx, rs6000_stack_t *, int));
-static void altivec_frame_fixup PARAMS ((rtx, rtx, HOST_WIDE_INT));
static int easy_vector_constant PARAMS ((rtx));
static bool is_ev64_opaque_type PARAMS ((tree));
static rtx rs6000_dwarf_register_span PARAMS ((rtx));
@@ -10102,32 +10101,6 @@ rs6000_emit_allocate_stack (size, copy_r12)
REG_NOTES (insn));
}
-/* Add a RTX_FRAME_RELATED note so that dwarf2out_frame_debug_expr
- knows that:
-
- (mem (plus (blah) (regXX)))
-
- is really:
-
- (mem (plus (blah) (const VALUE_OF_REGXX))). */
-
-static void
-altivec_frame_fixup (insn, reg, val)
- rtx insn, reg;
- HOST_WIDE_INT val;
-{
- rtx real;
-
- real = copy_rtx (PATTERN (insn));
-
- real = replace_rtx (real, reg, GEN_INT (val));
-
- RTX_FRAME_RELATED_P (insn) = 1;
- REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR,
- real,
- REG_NOTES (insn));
-}
-
/* Add to 'insn' a note which is PATTERN (INSN) but with REG replaced
with (plus:P (reg 1) VAL), and with REG2 replaced with RREG if REG2
is not NULL. It would be nice if dwarf2out_frame_debug_expr could
@@ -10494,7 +10467,8 @@ rs6000_emit_prologue ()
insn = emit_move_insn (mem, savereg);
- altivec_frame_fixup (insn, areg, offset);
+ rs6000_frame_related (insn, frame_ptr_rtx, info->total_size,
+ areg, GEN_INT (offset));
}
}