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
b3d4e1b2
Commit
b3d4e1b2
authored
Jul 17, 1992
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(expand_shift, expand_set_flag):
Call protect_from_queue before convert_to_mode. From-SVN: r1606
parent
06e40b26
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
3 deletions
+7
-3
gcc/expmed.c
+7
-3
No files found.
gcc/expmed.c
View file @
b3d4e1b2
...
...
@@ -763,7 +763,6 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp,
if
(
tmode
==
VOIDmode
)
tmode
=
mode
;
while
(
GET_CODE
(
op0
)
==
SUBREG
)
{
offset
+=
SUBREG_WORD
(
op0
);
...
...
@@ -1581,8 +1580,9 @@ expand_shift (code, mode, shifted, amount, target, unsignedp)
||
(
methods
==
OPTAB_WIDEN
&&
GET_MODE_SIZE
(
mode
)
<
GET_MODE_SIZE
(
output_mode
)))
{
/* Note convert_to_mode does protect_from_queue. */
rtx
shifted1
=
convert_to_mode
(
output_mode
,
shifted
,
1
);
rtx
shifted1
=
convert_to_mode
(
output_mode
,
protect_from_queue
(
shifted
,
0
),
1
);
enum
machine_mode
length_mode
=
insn_operand_mode
[(
int
)
CODE_FOR_extzv
][
2
];
enum
machine_mode
pos_mode
...
...
@@ -1610,6 +1610,7 @@ expand_shift (code, mode, shifted, amount, target, unsignedp)
(
target1
,
output_mode
)))
target1
=
gen_reg_rtx
(
output_mode
);
xop1
=
protect_from_queue
(
xop1
,
0
);
xop1
=
convert_to_mode
(
pos_mode
,
xop1
,
TREE_UNSIGNED
(
TREE_TYPE
(
amount
)));
...
...
@@ -1626,6 +1627,7 @@ expand_shift (code, mode, shifted, amount, target, unsignedp)
else
{
/* Now get the width in the proper mode. */
op1
=
protect_from_queue
(
op1
,
0
);
width
=
convert_to_mode
(
length_mode
,
op1
,
TREE_UNSIGNED
(
TREE_TYPE
(
amount
)));
...
...
@@ -2709,6 +2711,7 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep)
first. */
if
(
GET_MODE_SIZE
(
target_mode
)
>
GET_MODE_SIZE
(
mode
))
{
op0
=
protect_from_queue
(
op0
,
0
);
op0
=
convert_to_mode
(
target_mode
,
op0
,
0
);
mode
=
target_mode
;
}
...
...
@@ -2943,6 +2946,7 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep)
else
if
(
GET_MODE_SIZE
(
mode
)
<
UNITS_PER_WORD
)
{
mode
=
word_mode
;
op0
=
protect_from_queue
(
op0
,
0
);
tem
=
convert_to_mode
(
mode
,
op0
,
1
);
}
...
...
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