aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1997-03-21 10:24:18 -0700
committerJeff Law <law@gcc.gnu.org>1997-03-21 10:24:18 -0700
commit6fafc523845cad2882d049bef82d4da7c09739e5 (patch)
tree41d8c4f26eda66be4f2d9ba84bf08a57027cecab /gcc
parent862bff8819e9fa272e7254237b6988433a5d5339 (diff)
downloadgcc-6fafc523845cad2882d049bef82d4da7c09739e5.zip
gcc-6fafc523845cad2882d049bef82d4da7c09739e5.tar.gz
gcc-6fafc523845cad2882d049bef82d4da7c09739e5.tar.bz2
* mn10300/mn10300.c (print_operand): Handle 'N'.
From-SVN: r13758
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/mn10300/mn10300.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index 517a560..1e4768f 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -230,6 +230,10 @@ print_operand (file, x, code)
fputc (')', file);
break;
+ case 'N':
+ output_address (GEN_INT ((~INTVAL (x)) & 0xff));
+ break;
+
default:
switch (GET_CODE (x))
{
@@ -368,7 +372,9 @@ expand_epilogue ()
emit_move_insn (stack_pointer_rtx, frame_pointer_rtx);
size = 0;
}
- else if (size > 255)
+ else if ((regs_ever_live[2] || regs_ever_live[3]
+ || regs_ever_live[6] || regs_ever_live[7])
+ && size > 255)
{
emit_insn (gen_addsi3 (stack_pointer_rtx,
stack_pointer_rtx,