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
94e6f783
Commit
94e6f783
authored
Feb 18, 1999
by
David Edelsohn
Committed by
Jeff Law
Feb 18, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* regclass.c (record_reg_classes): Correctly handle 'p' constraint.
From-SVN: r25295
parent
1b4a979b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
2 deletions
+14
-2
gcc/ChangeLog
+4
-0
gcc/regclass.c
+10
-2
No files found.
gcc/ChangeLog
View file @
94e6f783
Thu
Feb
18
20
:
44
:
21
1999
David
Edelsohn
<
edelsohn
@mhpcc
.
edu
>
*
regclass
.
c
(
record_reg_classes
)
:
Correctly
handle
'p'
constraint
.
Thu
Feb
18
19
:
59
:
37
1999
Marc
Espie
<
espie
@cvs
.
openbsd
.
org
>
*
configure
.
in
:
Handle
OpenBSD
platforms
.
...
...
gcc/regclass.c
View file @
94e6f783
...
...
@@ -1159,6 +1159,7 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
const
char
*
p
=
constraints
[
i
];
rtx
op
=
ops
[
i
];
enum
machine_mode
mode
=
modes
[
i
];
int
allows_addr
=
0
;
int
allows_mem
=
0
;
int
win
=
0
;
unsigned
char
c
;
...
...
@@ -1262,7 +1263,11 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
case
'!'
:
case
'#'
:
case
'&'
:
case
'0'
:
case
'1'
:
case
'2'
:
case
'3'
:
case
'4'
:
case
'5'
:
case
'6'
:
case
'7'
:
case
'8'
:
case
'9'
:
break
;
case
'p'
:
allows_addr
=
1
;
win
=
address_operand
(
op
,
GET_MODE
(
op
));
break
;
case
'm'
:
case
'o'
:
case
'V'
:
...
...
@@ -1393,7 +1398,10 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
if
(
GET_CODE
(
op
)
==
REG
&&
REGNO
(
op
)
>=
FIRST_PSEUDO_REGISTER
)
{
if
(
classes
[
i
]
==
NO_REGS
)
alt_fail
=
1
;
{
if
(
!
allows_addr
)
alt_fail
=
1
;
}
else
{
struct
costs
*
pp
=
&
this_op_costs
[
i
];
...
...
@@ -1443,7 +1451,7 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
/* The only other way this alternative can be used is if this is a
constant that could be placed into memory. */
else
if
(
CONSTANT_P
(
op
)
&&
allows_mem
)
else
if
(
CONSTANT_P
(
op
)
&&
(
allows_addr
||
allows_mem
)
)
alt_cost
+=
MEMORY_MOVE_COST
(
mode
,
classes
[
i
],
1
);
else
alt_fail
=
1
;
...
...
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