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
30a4619d
Commit
30a4619d
authored
Feb 26, 1994
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(movsi): If -mno-sum-in-toc, do addition of symbol + const.
From-SVN: r6635
parent
0b9ccabc
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
0 deletions
+19
-0
gcc/config/rs6000/rs6000.md
+19
-0
No files found.
gcc/config/rs6000/rs6000.md
View file @
30a4619d
...
...
@@ -2844,6 +2844,25 @@
if (CONSTANT_P (operands
[
1
]
) && GET_CODE (operands
[
1
]
) != CONST_INT
&& ! LEGITIMATE_CONSTANT_POOL_ADDRESS_P (operands
[
1
]
))
{
/
*
If we are to limit the number of things we put in the TOC and
this is a symbol plus a constant we can add in one insn,
just put the sumbol in the TOC and add the constant. Don't do
this if reload is in progress.
*
/
if (GET_CODE (operands
[
1
]
) == CONST
&& TARGET_NO_SUM_IN_TOC && ! reload_in_progress
&& GET_CODE (XEXP (operands
[
1
]
, 0)) == PLUS
&& add_operand (XEXP (XEXP (operands
[
1
]
, 0), 1), SImode)
&& (GET_CODE (XEXP (XEXP (operands
[
1
]
, 0), 0)) == LABEL_REF
|| GET_CODE (XEXP (XEXP (operands
[
1
]
, 0), 0)) == SYMBOL_REF)
&& ! side_effects_p (operands
[
0
]
))
{
rtx sym = force_const_mem (SImode, XEXP (XEXP (operands
[
1
]
, 0), 0));
rtx other = XEXP (XEXP (operands
[
1
]
, 0), 1);
emit_insn (gen_addsi3 (operands[0], force_reg (SImode, sym), other));
DONE;
}
operands[1] = force_const_mem (SImode, operands[1]);
if (! memory_address_p (SImode, XEXP (operands[1], 0))
&& ! reload_in_progress)
...
...
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