Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
cffd0d74
Commit
cffd0d74
authored
Mar 21, 1992
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
entered into RCS
From-SVN: r543
parent
3f5cfed6
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
28 deletions
+29
-28
gcc/config/m68k/m68k.c
+29
-28
No files found.
gcc/config/m68k/m68k.c
View file @
cffd0d74
...
...
@@ -112,10 +112,10 @@ output_function_prologue (stream, size)
else
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
link.w %s,%I0
\n\t
add.l %0I%d,%Rsp
\n
"
,
asm_fprintf
(
stream
,
"
\t
link.w %s,%
0
I0
\n\t
add.l %0I%d,%Rsp
\n
"
,
reg_names
[
FRAME_POINTER_REGNUM
],
-
fsize
);
#else
asm_fprintf
(
stream
,
"
\t
link %s,%I0
\n\t
addl %0I%d,%Rsp
\n
"
,
asm_fprintf
(
stream
,
"
\t
link %s,%
0
I0
\n\t
addl %0I%d,%Rsp
\n
"
,
reg_names
[
FRAME_POINTER_REGNUM
],
-
fsize
);
#endif
}
...
...
@@ -159,9 +159,9 @@ output_function_prologue (stream, size)
if
((
mask
&
0xff
)
!=
0
)
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
fmovm %I0x%x,-(%Rsp)
\n
"
,
mask
&
0xff
);
asm_fprintf
(
stream
,
"
\t
fmovm %
0
I0x%x,-(%Rsp)
\n
"
,
mask
&
0xff
);
#else
asm_fprintf
(
stream
,
"
\t
fmovem %I0x%x,%Rsp@-
\n
"
,
mask
&
0xff
);
asm_fprintf
(
stream
,
"
\t
fmovem %
0
I0x%x,%Rsp@-
\n
"
,
mask
&
0xff
);
#endif
}
mask
=
0
;
...
...
@@ -199,21 +199,21 @@ output_function_prologue (stream, size)
else
if
(
mask
)
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
movm.l %I0x%x,-(%Rsp)
\n
"
,
mask
);
asm_fprintf
(
stream
,
"
\t
movm.l %
0
I0x%x,-(%Rsp)
\n
"
,
mask
);
#else
asm_fprintf
(
stream
,
"
\t
moveml %I0x%x,%Rsp@-
\n
"
,
mask
);
asm_fprintf
(
stream
,
"
\t
moveml %
0
I0x%x,%Rsp@-
\n
"
,
mask
);
#endif
}
if
(
flag_pic
&&
current_function_uses_pic_offset_table
)
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
%Omove.l %I__GLOBAL_OFFSET_TABLE_, %s
\n
"
,
asm_fprintf
(
stream
,
"
\t
%Omove.l %
0
I__GLOBAL_OFFSET_TABLE_, %s
\n
"
,
reg_names
[
PIC_OFFSET_TABLE_REGNUM
]);
asm_fprintf
(
stream
,
"
\t
lea.l (%Rpc,%s.l),%s
\n
"
,
reg_names
[
PIC_OFFSET_TABLE_REGNUM
],
reg_names
[
PIC_OFFSET_TABLE_REGNUM
]);
#else
asm_fprintf
(
stream
,
"
\t
movel %I__GLOBAL_OFFSET_TABLE_, %s
\n
"
,
asm_fprintf
(
stream
,
"
\t
movel %
0
I__GLOBAL_OFFSET_TABLE_, %s
\n
"
,
reg_names
[
PIC_OFFSET_TABLE_REGNUM
]);
asm_fprintf
(
stream
,
"
\t
lea %Rpc@(0,%s:l),%s
\n
"
,
reg_names
[
PIC_OFFSET_TABLE_REGNUM
],
...
...
@@ -268,7 +268,12 @@ output_function_epilogue (stream, size)
if
(
GET_CODE
(
insn
)
==
NOTE
)
insn
=
prev_nonnote_insn
(
insn
);
if
(
insn
&&
GET_CODE
(
insn
)
==
BARRIER
)
return
;
{
/* Output just a no-op so that debuggers don't get confused
about which function the pc is in at this address. */
asm_fprintf
(
stream
,
"
\t
nop
\n
"
);
return
;
}
#ifdef FUNCTION_EXTRA_EPILOGUE
FUNCTION_EXTRA_EPILOGUE
(
stream
,
size
);
...
...
@@ -366,12 +371,12 @@ output_function_epilogue (stream, size)
if
(
big
)
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
movm.l -%d(%s,%Ra0.l),%I0x%x
\n
"
,
asm_fprintf
(
stream
,
"
\t
movm.l -%d(%s,%Ra0.l),%
0
I0x%x
\n
"
,
offset
+
fsize
,
reg_names
[
FRAME_POINTER_REGNUM
],
mask
);
#else
asm_fprintf
(
stream
,
"
\t
moveml %s@(-%d,%Ra0:l),%I0x%x
\n
"
,
asm_fprintf
(
stream
,
"
\t
moveml %s@(-%d,%Ra0:l),%
0
I0x%x
\n
"
,
reg_names
[
FRAME_POINTER_REGNUM
],
offset
+
fsize
,
mask
);
#endif
...
...
@@ -379,20 +384,20 @@ output_function_epilogue (stream, size)
else
if
(
!
frame_pointer_needed
)
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
movm.l (%Rsp)+,%I0x%x
\n
"
,
mask
);
asm_fprintf
(
stream
,
"
\t
movm.l (%Rsp)+,%
0
I0x%x
\n
"
,
mask
);
#else
asm_fprintf
(
stream
,
"
\t
moveml %Rsp@+,%I0x%x
\n
"
,
mask
);
asm_fprintf
(
stream
,
"
\t
moveml %Rsp@+,%
0
I0x%x
\n
"
,
mask
);
#endif
}
else
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
movm.l -%d(%s),%I0x%x
\n
"
,
asm_fprintf
(
stream
,
"
\t
movm.l -%d(%s),%
0
I0x%x
\n
"
,
offset
+
fsize
,
reg_names
[
FRAME_POINTER_REGNUM
],
mask
);
#else
asm_fprintf
(
stream
,
"
\t
moveml %s@(-%d),%I0x%x
\n
"
,
asm_fprintf
(
stream
,
"
\t
moveml %s@(-%d),%
0
I0x%x
\n
"
,
reg_names
[
FRAME_POINTER_REGNUM
],
offset
+
fsize
,
mask
);
#endif
...
...
@@ -403,12 +408,12 @@ output_function_epilogue (stream, size)
if
(
big
)
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
fmovm -%d(%s,%Ra0.l),%I0x%x
\n
"
,
asm_fprintf
(
stream
,
"
\t
fmovm -%d(%s,%Ra0.l),%
0
I0x%x
\n
"
,
foffset
+
fsize
,
reg_names
[
FRAME_POINTER_REGNUM
],
fmask
);
#else
asm_fprintf
(
stream
,
"
\t
fmovem %s@(-%d,%Ra0:l),%I0x%x
\n
"
,
asm_fprintf
(
stream
,
"
\t
fmovem %s@(-%d,%Ra0:l),%
0
I0x%x
\n
"
,
reg_names
[
FRAME_POINTER_REGNUM
],
foffset
+
fsize
,
fmask
);
#endif
...
...
@@ -416,20 +421,20 @@ output_function_epilogue (stream, size)
else
if
(
!
frame_pointer_needed
)
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
fmovm (%Rsp)+,%I0x%x
\n
"
,
fmask
);
asm_fprintf
(
stream
,
"
\t
fmovm (%Rsp)+,%
0
I0x%x
\n
"
,
fmask
);
#else
asm_fprintf
(
stream
,
"
\t
fmovem %Rsp@+,%I0x%x
\n
"
,
fmask
);
asm_fprintf
(
stream
,
"
\t
fmovem %Rsp@+,%
0
I0x%x
\n
"
,
fmask
);
#endif
}
else
{
#ifdef MOTOROLA
asm_fprintf
(
stream
,
"
\t
fmovm -%d(%s),%I0x%x
\n
"
,
asm_fprintf
(
stream
,
"
\t
fmovm -%d(%s),%
0
I0x%x
\n
"
,
foffset
+
fsize
,
reg_names
[
FRAME_POINTER_REGNUM
],
fmask
);
#else
asm_fprintf
(
stream
,
"
\t
fmovem %s@(-%d),%I0x%x
\n
"
,
asm_fprintf
(
stream
,
"
\t
fmovem %s@(-%d),%
0
I0x%x
\n
"
,
reg_names
[
FRAME_POINTER_REGNUM
],
foffset
+
fsize
,
fmask
);
#endif
...
...
@@ -1525,7 +1530,7 @@ print_operand (file, op, letter)
}
else
if
(
letter
==
'#'
)
{
asm_fprintf
(
file
,
"%I"
);
asm_fprintf
(
file
,
"%
0
I"
);
}
else
if
(
letter
==
'-'
)
{
...
...
@@ -1553,11 +1558,7 @@ print_operand (file, op, letter)
}
else
if
(
letter
==
'!'
)
{
#ifdef MOTOROLA
asm_fprintf
(
file
,
"(%Rcc)"
);
#else
asm_fprintf
(
file
,
"%Rcc"
);
#endif
asm_fprintf
(
file
,
"%Rfpcr"
);
}
else
if
(
letter
==
'$'
)
{
...
...
@@ -1623,7 +1624,7 @@ print_operand (file, op, letter)
}
else
{
asm_fprintf
(
file
,
"%I"
);
output_addr_const
(
file
,
op
);
asm_fprintf
(
file
,
"%
0
I"
);
output_addr_const
(
file
,
op
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment