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
0f645302
Commit
0f645302
authored
Jan 15, 1996
by
Michael Meissner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix little endian adddi3/subdi3
From-SVN: r10997
parent
968ad7cf
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
21 deletions
+19
-21
gcc/config/rs6000/rs6000.md
+19
-21
No files found.
gcc/config/rs6000/rs6000.md
View file @
0f645302
...
...
@@ -3623,11 +3623,17 @@
(plus:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,0,0")
(match_operand:DI 2 "reg_or_short_operand" "r,I,r,I")))]
"! TARGET_POWERPC64"
"@
{a|addc} %L0,%L1,%L2
\;
{ae|adde} %0,%1,%2
{ai|addic} %L0,%L1,%2
\;
{a%G2e|add%G2e} %0,%1
{a|addc} %L0,%L1,%L2
\;
{ae|adde} %0,%1,%2
{ai|addic} %L0,%L1,%2
\;
{a%G2e|add%G2e} %0,%1"
"
*
{
if (WORDS_BIG_ENDIAN)
return (GET_CODE (operands
[
2
]
)) != CONST_INT
?
\"
{a|addc} %L0,%L1,%L2
\;
{ae|adde} %0,%1,%2
\"
:
\"
{ai|addic} %L0,%L1,%2
\;
{a%G2e|add%G2e} %0,%1
\"
;
else
return (GET_CODE (operands
[
2
]
)) != CONST_INT
?
\"
{a|addc} %0,%1,%2
\;
{ae|adde} %L0,%L1,%L2
\"
:
\"
{ai|addic} %0,%1,%2
\;
{a%G2e|add%G2e} %L0,%L1
\"
;
}"
[
(set_attr "length" "8")
]
)
(define_insn "subddi3"
...
...
@@ -3635,24 +3641,16 @@
(minus:DI (match_operand:DI 1 "reg_or_short_operand" "r,I,0,r,I")
(match_operand:DI 2 "gpc_reg_operand" "r,r,r,0,0")))]
"TARGET_POWER && ! TARGET_POWERPC64"
"@
{sf|subfc} %L0,%L2,%L1
\;
{sfe|subfe} %0,%2,%1
{sfi|subfic} %L0,%L2,%1
\;
{sf%G1e|subf%G1e} %0,%2
{sf|subfc} %L0,%L2,%L1
\;
{sfe|subfe} %0,%2,%1
{sf|subfc} %L0,%L2,%L1
\;
{sfe|subfe} %0,%2,%1
{sfi|subfic} %L0,%L2,%1
\;
{sf%G1e|subf%G1e} %0,%2"
[
(set_attr "length" "8")
]
)
(define_insn ""
[
(set (match_operand:DI 0 "gpc_reg_operand" "=&r,r,r")
(minus:DI (match_operand:DI 1 "gpc_reg_operand" "r,0,r")
(match_operand:DI 2 "gpc_reg_operand" "r,r,0")))]
"! TARGET_POWER && ! TARGET_POWERPC64"
"
*
{
return (WORDS_BIG_ENDIAN)
?
\"
{sf|subfc} %L0,%L2,%L1
\;
{sfe|subfe} %0,%2,%1
\"
:
\"
{sf|subfc} %0,%2,%1
\;
{sfe|subfe} %L0,%L2,%L1
\"
;
if (WORDS_BIG_ENDIAN)
return (GET_CODE (operands
[
1
]
) != CONST_INT)
?
\"
{sf|subfc} %L0,%L2,%L1
\;
{sfe|subfe} %0,%2,%1
\"
:
\"
{sfi|subfic} %L0,%L2,%1
\;
{sf%G1e|subf%G1e} %0,%2
\"
;
else
return (GET_CODE (operands
[
1
]
) != CONST_INT)
?
\"
{sf|subfc} %0,%2,%1
\;
{sfe|subfe} %L0,%L2,%L1
\"
:
\"
{sfi|subfic} %0,%2,%1
\;
{sf%G1e|subf%G1e} %L0,%L2
\"
;
}"
[
(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