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
7373d92d
Commit
7373d92d
authored
Apr 11, 1994
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(expand_call, emit_library_call{,_value}, store_one_arg): Use
convert_modes instead of convert_to_mode. From-SVN: r7026
parent
678566a5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
9 deletions
+11
-9
gcc/calls.c
+11
-9
No files found.
gcc/calls.c
View file @
7373d92d
...
...
@@ -1287,10 +1287,12 @@ expand_call (exp, target, ignore)
args
[
i
].
initial_value
=
args
[
i
].
value
=
expand_expr
(
args
[
i
].
tree_value
,
NULL_RTX
,
VOIDmode
,
0
);
if
(
GET_MODE
(
args
[
i
].
value
)
!=
VOIDmode
&&
GET_MODE
(
args
[
i
].
value
)
!=
args
[
i
].
mode
)
args
[
i
].
value
=
convert_to_mode
(
args
[
i
].
mode
,
args
[
i
].
value
,
args
[
i
].
unsignedp
);
if
(
TYPE_MODE
(
TREE_TYPE
(
args
[
i
].
tree_value
))
!=
args
[
i
].
mode
)
args
[
i
].
value
=
convert_modes
(
args
[
i
].
mode
,
TYPE_MODE
(
TREE_TYPE
(
args
[
i
].
tree_value
)),
args
[
i
].
value
,
args
[
i
].
unsignedp
);
preserve_temp_slots
(
args
[
i
].
value
);
pop_temp_slots
();
...
...
@@ -2174,7 +2176,7 @@ emit_library_call VPROTO((rtx orgfun, int no_queue, enum machine_mode outmode,
Pass it as a double instead. */
#ifdef LIBGCC_NEEDS_DOUBLE
if
(
LIBGCC_NEEDS_DOUBLE
&&
mode
==
SFmode
)
val
=
convert_
to_mode
(
D
Fmode
,
val
,
0
),
mode
=
DFmode
;
val
=
convert_
modes
(
DFmode
,
S
Fmode
,
val
,
0
),
mode
=
DFmode
;
#endif
/* There's no need to call protect_from_queue, because
...
...
@@ -2525,7 +2527,7 @@ emit_library_call_value VPROTO((rtx orgfun, rtx value, int no_queue,
Pass it as a double instead. */
#ifdef LIBGCC_NEEDS_DOUBLE
if
(
LIBGCC_NEEDS_DOUBLE
&&
mode
==
SFmode
)
val
=
convert_
to_mode
(
D
Fmode
,
val
,
0
),
mode
=
DFmode
;
val
=
convert_
modes
(
DFmode
,
S
Fmode
,
val
,
0
),
mode
=
DFmode
;
#endif
/* There's no need to call protect_from_queue, because
...
...
@@ -2955,9 +2957,9 @@ store_one_arg (arg, argblock, may_be_alloca, variable_size, fndecl,
/* If we are promoting object (or for any other reason) the mode
doesn't agree, convert the mode. */
if
(
GET_MODE
(
arg
->
value
)
!=
VOIDmode
&&
GET_MODE
(
arg
->
value
)
!=
arg
->
mode
)
arg
->
value
=
convert_to_mode
(
arg
->
mode
,
arg
->
value
,
arg
->
unsignedp
);
if
(
arg
->
mode
!=
TYPE_MODE
(
TREE_TYPE
(
pval
)))
arg
->
value
=
convert_modes
(
arg
->
mode
,
TYPE_MODE
(
TREE_TYPE
(
pval
)),
arg
->
value
,
arg
->
unsignedp
);
#ifdef ACCUMULATE_OUTGOING_ARGS
if
(
arg
->
pass_on_stack
)
...
...
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