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
4c0c634c
Commit
4c0c634c
authored
Dec 27, 1995
by
Michael Meissner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Yank out part of last change
From-SVN: r10887
parent
ca12b8a4
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
23 deletions
+16
-23
gcc/config/rs6000/rs6000.c
+7
-15
gcc/config/rs6000/rs6000.h
+0
-2
gcc/config/rs6000/rs6000.md
+9
-6
No files found.
gcc/config/rs6000/rs6000.c
View file @
4c0c634c
...
...
@@ -467,8 +467,10 @@ gpc_reg3_operand (op, mode)
register
rtx
op
;
enum
machine_mode
mode
;
{
return
(
register_operand
(
op
,
mode
)
&&
(
GET_CODE
(
op
)
!=
REG
||
REGNO
(
op
)
==
3
||
REGNO
(
op
)
>=
FIRST_PSEUDO_REGISTER
));
if
(
GET_CODE
(
op
)
!=
REG
||
mode
!=
GET_MODE
(
op
))
return
0
;
/* do not allow SUBREG's */
return
(
REGNO
(
op
)
==
3
||
REGNO
(
op
)
>=
FIRST_PSEUDO_REGISTER
);
}
/* Returns 1 if OP is register 4 or is a pseudo register. */
...
...
@@ -478,20 +480,10 @@ gpc_reg4_operand (op, mode)
register
rtx
op
;
enum
machine_mode
mode
;
{
return
(
register_operand
(
op
,
mode
)
&&
(
GET_CODE
(
op
)
!=
REG
||
REGNO
(
op
)
==
4
||
REGNO
(
op
)
>=
FIRST_PSEUDO_REGISTER
));
}
/* Returns 1 if OP is register 3 or 4 or is a pseudo register. */
if
(
GET_CODE
(
op
)
!=
REG
||
mode
!=
GET_MODE
(
op
))
return
0
;
/* do not allow SUBREG's */
int
gpc_reg34_operand
(
op
,
mode
)
register
rtx
op
;
enum
machine_mode
mode
;
{
return
(
register_operand
(
op
,
mode
)
&&
(
GET_CODE
(
op
)
!=
REG
||
REGNO
(
op
)
==
3
||
REGNO
(
op
)
==
4
||
REGNO
(
op
)
>=
FIRST_PSEUDO_REGISTER
));
return
(
REGNO
(
op
)
==
4
||
REGNO
(
op
)
>=
FIRST_PSEUDO_REGISTER
);
}
/* Returns 1 if OP is either a pseudo-register or CR1. */
...
...
gcc/config/rs6000/rs6000.h
View file @
4c0c634c
...
...
@@ -2600,7 +2600,6 @@ do { \
{"gpc_reg0_operand", {SUBREG, REG}}, \
{"gpc_reg3_operand", {SUBREG, REG}}, \
{"gpc_reg4_operand", {SUBREG, REG}}, \
{"gpc_reg34_operand", {SUBREG, REG}}, \
{"cc_reg0_operand", {SUBREG, REG}}, \
{"cc_reg1_operand", {SUBREG, REG}}, \
{"cc_reg_operand", {SUBREG, REG}}, \
...
...
@@ -2656,7 +2655,6 @@ extern int non_short_cint_operand ();
extern
int
gpc_reg0_operand
();
extern
int
gpc_reg3_operand
();
extern
int
gpc_reg4_operand
();
extern
int
gpc_reg34_operand
();
extern
int
gpc_reg_operand
();
extern
int
cc_reg0_operand
();
extern
int
cc_reg1_operand
();
...
...
gcc/config/rs6000/rs6000.md
View file @
4c0c634c
...
...
@@ -3672,7 +3672,10 @@
{
if (! TARGET_POWER && ! TARGET_POWERPC)
{
emit_insn (gen_mulsidi3_common (operands
[
0
]
, operands
[
1
]
, operands
[
2
]
));
emit_move_insn (gen_rtx (REG, SImode, 3), operands
[
1
]
);
emit_move_insn (gen_rtx (REG, SImode, 4), operands
[
2
]
);
emit_insn (gen_mulsidi3_common ());
emit_move_insn (operands
[
0
]
, gen_rtx (REG, DImode, 3));
DONE;
}
else if (TARGET_POWER)
...
...
@@ -3683,11 +3686,11 @@
}")
(define_insn "mulsidi3_common"
[
(set (
match_operand:DI 0 "gpc_reg3_operand" "=w"
)
(mult:DI (sign_extend:DI (
match_operand:SI 1 "gpc_reg3_operand" "%u"
))
(sign_extend:DI (
match_operand:SI 2 "gpc_reg4_operand" "v"
))))
(clobber (match_scratch:SI
3
"=l"))
(clobber (match_scratch:SI
4
"=z"))]
[
(set (
reg:DI 3
)
(mult:DI (sign_extend:DI (
reg:SI 3
))
(sign_extend:DI (
reg:SI 4
))))
(clobber (match_scratch:SI
0
"=l"))
(clobber (match_scratch:SI
1
"=z"))]
"! TARGET_POWER && ! TARGET_POWERPC"
"bla __mull"
[
(set_attr "type" "jmpreg")
]
)
...
...
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