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
eb7528db
Commit
eb7528db
authored
May 05, 1992
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
entered into RCS
From-SVN: r899
parent
1b6c8b12
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
71 additions
and
90 deletions
+71
-90
gcc/config/ns32k/ns32k.c
+71
-90
No files found.
gcc/config/ns32k/ns32k.c
View file @
eb7528db
...
@@ -38,102 +38,76 @@ void
...
@@ -38,102 +38,76 @@ void
trace
(
s
,
s1
,
s2
)
trace
(
s
,
s1
,
s2
)
char
*
s
,
*
s1
,
*
s2
;
char
*
s
,
*
s1
,
*
s2
;
{
{
fprintf
(
stderr
,
s
,
s1
,
s2
);
fprintf
(
stderr
,
s
,
s1
,
s2
);
}
}
/* Value is 1 if hard register REGNO can hold a value of machine-mode MODE. */
/* Value is 1 if hard register REGNO can hold a value of machine-mode MODE. */
int
int
hard_regno_mode_ok
(
regno
,
mode
)
hard_regno_mode_ok
(
regno
,
mode
)
int
regno
;
int
regno
;
int
mode
;
int
mode
;
{
{
switch
(
mode
)
{
switch
(
mode
)
case
QImode
:
{
case
HImode
:
case
QImode
:
case
PSImode
:
case
HImode
:
case
SImode
:
case
PSImode
:
case
PDImode
:
case
SImode
:
case
VOIDmode
:
case
PDImode
:
case
BLKmode
:
case
VOIDmode
:
if
(
(
regno
<
8
)
||
(
regno
==
16
)
||
(
regno
==
17
)
)
{
case
BLKmode
:
return
(
1
);
if
(
regno
<
8
||
regno
==
16
||
regno
==
17
)
}
return
1
;
else
{
else
return
(
0
);
return
0
;
}
case
DImode
:
case
DImode
:
if
(
regno
<
8
&&
(
regno
&
1
)
==
0
)
if
(
(
regno
<
8
)
&&
((
regno
&
1
)
==
0
)
)
{
return
1
;
return
(
1
);
else
}
return
0
;
else
{
return
(
0
);
case
SFmode
:
}
case
SCmode
:
if
(
TARGET_32081
)
{
case
SFmode
:
if
(
regno
<
16
)
case
SCmode
:
return
1
;
if
(
TARGET_32081
)
{
else
if
(
regno
<
16
)
{
return
0
;
return
(
1
);
}
}
else
else
{
{
return
(
0
);
if
(
regno
<
8
)
}
return
1
;
}
else
else
{
return
0
;
if
(
regno
<
8
)
{
}
return
(
1
);
}
case
DFmode
:
else
{
case
DCmode
:
return
(
0
);
if
((
regno
&
1
)
==
0
)
}
{
}
if
(
TARGET_32081
)
{
case
DFmode
:
if
(
regno
<
16
)
case
DCmode
:
return
1
;
if
(
(
regno
&
1
)
==
0
)
{
else
if
(
TARGET_32081
)
{
return
0
;
if
(
regno
<
16
)
{
}
return
(
1
);
else
}
{
else
{
if
(
regno
<
8
)
return
(
0
);
return
1
;
}
else
}
return
0
;
else
{
}
if
(
regno
<
8
)
{
return
(
1
);
}
else
{
return
(
0
);
}
}
}
else
{
return
(
0
);
}
case
XFmode
:
abort
(
0
);
case
CCmode
:
abort
(
0
);
case
TImode
:
abort
(
0
);
case
XCmode
:
abort
(
0
);
case
TFmode
:
abort
(
0
);
case
TCmode
:
abort
(
0
);
default
:
fprintf
(
stderr
,
"cant match mode %d
\n
"
,
mode
);
abort
(
0
);
}
}
abort
(
0
);
else
return
0
;
}
abort
(
0
);
}
}
/* ADDRESS_COST calls this. This function is not optimal
/* ADDRESS_COST calls this. This function is not optimal
...
@@ -201,10 +175,17 @@ secondary_reload_class (class, mode, in)
...
@@ -201,10 +175,17 @@ secondary_reload_class (class, mode, in)
if
(
class
==
GENERAL_REGS
||
(
regno
>=
0
&&
regno
<
8
))
if
(
class
==
GENERAL_REGS
||
(
regno
>=
0
&&
regno
<
8
))
return
NO_REGS
;
return
NO_REGS
;
/* Constants, memory, and FP registers can go into FP registers */
/* Constants, memory, and FP registers can go into FP registers
.
*/
if
((
regno
==
-
1
||
(
regno
>=
8
&&
regno
<
16
))
&&
(
class
==
FLOAT_REGS
))
if
((
regno
==
-
1
||
(
regno
>=
8
&&
regno
<
16
))
&&
(
class
==
FLOAT_REGS
))
return
NO_REGS
;
return
NO_REGS
;
#if 0 /* This isn't strictly true (can't move fp to sp or vice versa),
so it's cleaner to use PREFERRED_RELOAD_CLASS
to make the right things happen. */
if (regno >= 16 && class == GEN_AND_MEM_REGS)
return NO_REGS;
#endif
/* Otherwise, we need GENERAL_REGS. */
/* Otherwise, we need GENERAL_REGS. */
return
GENERAL_REGS
;
return
GENERAL_REGS
;
}
}
...
...
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