2000-08-22 Alexandre Oliva <aoliva@redhat.com>
+ * calls.c (check_sibcall_argument_overlap_1): Adjust for
+ ARGS_GROW_DOWNWARD.
+ (check_sibcall_argument_overlap): Likewise.
+
* invoke.texi (SH Options): Document -m4-nofpu,
-m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
-mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
else
return 0;
+#ifdef ARGS_GROW_DOWNWARD
+ i = -i - GET_MODE_SIZE (GET_MODE (x));
+#endif
+
for (k = 0; k < GET_MODE_SIZE (GET_MODE (x)); k++)
if (i + k < stored_args_map->n_bits
&& TEST_BIT (stored_args_map, i + k))
check_sibcall_argument_overlap_1 (PATTERN (insn)))
break;
+#ifdef ARGS_GROW_DOWNWARD
+ low = -arg->offset.constant - arg->size.constant;
+#else
low = arg->offset.constant;
+#endif
+
for (high = low + arg->size.constant; low < high; low++)
SET_BIT (stored_args_map, low);
return insn != NULL_RTX;