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
5502823b
Commit
5502823b
authored
Aug 25, 1995
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
({add,sub,mulsi}di3): Support both endian possibilities.
(negdi2): Likewise. From-SVN: r10281
parent
9bb59c14
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
4 deletions
+24
-4
gcc/config/rs6000/rs6000.md
+24
-4
No files found.
gcc/config/rs6000/rs6000.md
View file @
5502823b
...
@@ -3540,7 +3540,12 @@
...
@@ -3540,7 +3540,12 @@
(plus:DI (match_operand:DI 1 "gpc_reg_operand" "%r")
(plus:DI (match_operand:DI 1 "gpc_reg_operand" "%r")
(match_operand:DI 2 "gpc_reg_operand" "r")))]
(match_operand:DI 2 "gpc_reg_operand" "r")))]
"! TARGET_POWER && ! TARGET_POWERPC64"
"! TARGET_POWER && ! TARGET_POWERPC64"
"addc %L0,%L1,%L2
\;
adde %0,%1,%2"
"
*
{
return (WORDS_BIG_ENDIAN)
?
\"
addc %L0,%L1,%L2
\;
adde %0,%1,%2
\"
:
\"
addc %0,%1,%2
\;
adde %L0,%L1,%L2
\"
;
}"
[
(set_attr "length" "8")
]
)
[
(set_attr "length" "8")
]
)
(define_expand "subdi3"
(define_expand "subdi3"
...
@@ -3570,7 +3575,12 @@
...
@@ -3570,7 +3575,12 @@
(minus:DI (match_operand:DI 1 "gpc_reg_operand" "r")
(minus:DI (match_operand:DI 1 "gpc_reg_operand" "r")
(match_operand:DI 2 "gpc_reg_operand" "r")))]
(match_operand:DI 2 "gpc_reg_operand" "r")))]
"! TARGET_POWER && ! TARGET_POWERPC64"
"! TARGET_POWER && ! TARGET_POWERPC64"
"subfc %L0,%L2,%L1
\;
subfe %0,%2,%1"
"
*
{
return (WORDS_BIG_ENDIAN)
?
\"
{sf|subfc} %L0,%L2,%L1
\;
{sfe|subfe} %0,%2,%1
\"
:
\"
{sf|subfc} %0,%2,%1
\;
{sfe|subfe} %L0,%L2,%L1
\"
;
}"
[
(set_attr "length" "8")
]
)
[
(set_attr "length" "8")
]
)
(define_expand "negdi2"
(define_expand "negdi2"
...
@@ -3583,7 +3593,12 @@
...
@@ -3583,7 +3593,12 @@
[
(set (match_operand:DI 0 "gpc_reg_operand" "=r")
[
(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(neg:DI (match_operand:DI 1 "gpc_reg_operand" "r")))]
(neg:DI (match_operand:DI 1 "gpc_reg_operand" "r")))]
"! TARGET_POWERPC64"
"! TARGET_POWERPC64"
"{sfi|subfic} %L0,%L1,0
\;
{sfze|subfze} %0,%1"
"
*
{
return (WORDS_BIG_ENDIAN)
?
\"
{sfi|subfic} %L0,%L1,0
\;
{sfze|subfze} %0,%1
\"
:
\"
{sfi|subfic} %0,%1,0
\;
{sfze|subfze} %L0,%L1
\"
;
}"
[
(set_attr "length" "8")
]
)
[
(set_attr "length" "8")
]
)
(define_expand "mulsidi3"
(define_expand "mulsidi3"
...
@@ -3626,7 +3641,12 @@
...
@@ -3626,7 +3641,12 @@
(mult:DI (sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" "%r"))
(mult:DI (sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" "%r"))
(sign_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))))]
(sign_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))))]
"TARGET_POWERPC && ! TARGET_POWERPC64"
"TARGET_POWERPC && ! TARGET_POWERPC64"
"mulhw %0,%1,%2
\;
mullw %L0,%1,%2"
"
*
{
return (WORDS_BIG_ENDIAN)
?
\"
mulhw %0,%1,%2
\;
mullw %L0,%1,%2
\"
:
\"
mulhw %L0,%1,%2
\;
mullw %0,%1,%2
\"
;
}"
[
(set_attr "type" "imul")
[
(set_attr "type" "imul")
(set_attr "length" "8")])
(set_attr "length" "8")])
...
...
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