Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
3ea09378
Commit
3ea09378
authored
Jun 25, 2014
by
Tobias Rapp
Browse files
amd64: Fix incorrect transformation of floating point phi nodes
parent
32de2d04
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/be/amd64/amd64_transform.c
View file @
3ea09378
...
...
@@ -1790,6 +1790,8 @@ static ir_node *gen_Proj_Proj_Call(ir_node *node)
assert
(
res
->
req
!=
NULL
);
if
(
mode_needs_gp_reg
(
mode
))
mode
=
mode_gp
;
else
if
(
mode_is_float
(
mode
))
mode
=
mode_D
;
amd64_free_calling_convention
(
cconv
);
return
new_r_Proj
(
new_call
,
mode
,
new_pn
);
}
...
...
@@ -1940,7 +1942,9 @@ static ir_node *gen_Phi(ir_node *node)
const
arch_register_req_t
*
req
;
if
(
mode_needs_gp_reg
(
mode
))
{
/* all integer operations are on 64bit registers now */
req
=
amd64_reg_classes
[
CLASS_amd64_gp
].
class_req
;
req
=
amd64_reg_classes
[
CLASS_amd64_gp
].
class_req
;
}
else
if
(
mode_is_float
(
mode
))
{
req
=
amd64_reg_classes
[
CLASS_amd64_xmm
].
class_req
;
}
else
{
req
=
arch_no_register_req
;
}
...
...
Write
Preview
Supports
Markdown
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