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
398857e4
Commit
398857e4
authored
Sep 20, 2008
by
Bob Wilson
Committed by
Bob Wilson
Sep 20, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* config/xtensa/xtensa.md (reload<mode>_literal): Handle MEM operands.
From-SVN: r140509
parent
b680c096
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
5 deletions
+18
-5
gcc/ChangeLog
+4
-0
gcc/config/xtensa/xtensa.md
+14
-5
No files found.
gcc/ChangeLog
View file @
398857e4
2008
-
09
-
19
Bob
Wilson
<
bob
.
wilson
@acm
.
org
>
*
config
/
xtensa
/
xtensa
.
md
(
reload
<
mode
>
_literal
)
:
Handle
MEM
operands
.
2008
-
09
-
19
Ian
Lance
Taylor
<
iant
@google
.
com
>
2008
-
09
-
19
Ian
Lance
Taylor
<
iant
@google
.
com
>
*
varasm
.
c
(
narrowing_initializer_constant_valid_p
)
:
Return
*
varasm
.
c
(
narrowing_initializer_constant_valid_p
)
:
Return
...
...
gcc/config/xtensa/xtensa.md
View file @
398857e4
...
@@ -898,13 +898,22 @@
...
@@ -898,13 +898,22 @@
rtx lit, scratch;
rtx lit, scratch;
unsigned word_off, byte_off;
unsigned word_off, byte_off;
gcc_assert (GET_CODE (operands
[
1
]
) == SUBREG);
if (MEM_P (operands
[
1
]
))
lit = SUBREG_REG (operands
[
1
]
);
{
scratch = operands
[
2
]
;
lit = operands
[
1
]
;
word_off = SUBREG_BYTE (operands
[
1
]
) & ~(UNITS_PER_WORD - 1);
word_off = 0;
byte_off = SUBREG_BYTE (operands
[
1
]
) - word_off;
byte_off = 0;
}
else
{
gcc_assert (GET_CODE (operands
[
1
]
) == SUBREG);
lit = SUBREG_REG (operands
[
1
]
);
word_off = SUBREG_BYTE (operands
[
1
]
) & ~(UNITS_PER_WORD - 1);
byte_off = SUBREG_BYTE (operands
[
1
]
) - word_off;
}
lit = adjust_address (lit, SImode, word_off);
lit = adjust_address (lit, SImode, word_off);
scratch = operands
[
2
]
;
emit_insn (gen_movsi (scratch, lit));
emit_insn (gen_movsi (scratch, lit));
emit_insn (gen_mov
<mode>
(operands
[
0
]
,
emit_insn (gen_mov
<mode>
(operands
[
0
]
,
gen_rtx_SUBREG (
<MODE>
mode, scratch, byte_off)));
gen_rtx_SUBREG (
<MODE>
mode, scratch, byte_off)));
...
...
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