aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorCatherine Moore <clm@redhat.com>2001-10-19 14:03:29 +0000
committerCatherine Moore <clm@gcc.gnu.org>2001-10-19 10:03:29 -0400
commit7c87e9f9216fd7959a5365ae62f9173ce524d21b (patch)
treea3773d25085c0236d2e618d36951c442cdd8aafc /gcc/config
parent1ab8a33ed5890eea653aa364c5c31482a1e9c359 (diff)
downloadgcc-7c87e9f9216fd7959a5365ae62f9173ce524d21b.zip
gcc-7c87e9f9216fd7959a5365ae62f9173ce524d21b.tar.gz
gcc-7c87e9f9216fd7959a5365ae62f9173ce524d21b.tar.bz2
stormy16.h (ASM_COMMENT_START): Define.
* config/stormy16/stormy16.h (ASM_COMMENT_START): Define. * config/stormy16/stormy16.c (stormy16_split_move): Make sure that REG_INC notes are present for auto_inc operands. From-SVN: r46347
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/stormy16/stormy16.c14
-rw-r--r--gcc/config/stormy16/stormy16.h5
2 files changed, 16 insertions, 3 deletions
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index 5847e2a..096797a 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -641,6 +641,7 @@ stormy16_split_move (mode, dest, src)
int src_volatile = 0;
int dest_volatile = 0;
rtx mem_operand;
+ rtx auto_inc_reg_rtx = NULL_RTX;
/* Check initial conditions. */
if (! reload_completed
@@ -673,6 +674,8 @@ stormy16_split_move (mode, dest, src)
{
mem_operand = XEXP (dest, 0);
dest_modifies = side_effects_p (mem_operand);
+ if (auto_inc_p (mem_operand))
+ auto_inc_reg_rtx = XEXP (mem_operand, 0);
dest_volatile = MEM_VOLATILE_P (dest);
if (dest_volatile)
{
@@ -684,6 +687,8 @@ stormy16_split_move (mode, dest, src)
{
mem_operand = XEXP (src, 0);
src_modifies = side_effects_p (mem_operand);
+ if (auto_inc_p (mem_operand))
+ auto_inc_reg_rtx = XEXP (mem_operand, 0);
src_volatile = MEM_VOLATILE_P (src);
if (src_volatile)
{
@@ -733,7 +738,8 @@ stormy16_split_move (mode, dest, src)
end = direction < 0 ? -1 : num_words;
for (i = direction < 0 ? num_words - 1 : 0; i != end; i += direction)
{
- rtx w_src, w_dest;
+ rtx w_src, w_dest, insn;
+
if (src_modifies)
w_src = gen_rtx_MEM (word_mode, mem_operand);
else
@@ -753,7 +759,11 @@ stormy16_split_move (mode, dest, src)
|| GET_CODE (w_dest) == SUBREG)
abort ();
- emit_insn (gen_rtx_SET (VOIDmode, w_dest, w_src));
+ insn = emit_insn (gen_rtx_SET (VOIDmode, w_dest, w_src));
+ if (auto_inc_reg_rtx)
+ REG_NOTES (insn) = alloc_EXPR_LIST (REG_INC,
+ auto_inc_reg_rtx,
+ REG_NOTES (insn));
}
}
diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h
index 9a4e139..0372d1c 100644
--- a/gcc/config/stormy16/stormy16.h
+++ b/gcc/config/stormy16/stormy16.h
@@ -146,6 +146,9 @@ Boston, MA 02111-1307, USA. */
Defined in svr4.h. */
#undef LIB_SPEC
+#if 0
+#define LIB_SPEC "-( -lc %{msim:-lsim}%{!msim:-leva_app -lnosys} -)"
+#endif
#define LIB_SPEC "-( -lc %{msim:-lsim} -)"
/* Another C string constant that tells the GNU CC driver program how and when
@@ -3620,7 +3623,7 @@ do { \
/* A C string constant describing how to begin a comment in the target
assembler language. The compiler assumes that the comment will end at the
end of the line. */
-/* #define ASM_COMMENT_START */
+#define ASM_COMMENT_START ";"
/* A C string constant for text to be output before each `asm' statement or
group of consecutive ones. Normally this is `"#APP"', which is a comment