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
f3abfc04
Commit
f3abfc04
authored
Jun 29, 2010
by
Robin Redeker
Browse files
amd64: using mode_Lu for registers now.
[r27669]
parent
568a2734
Changes
3
Hide whitespace changes
Inline
Side-by-side
ir/be/amd64/amd64_emitter.c
View file @
f3abfc04
...
...
@@ -291,7 +291,7 @@ static void emit_amd64_Jcc(const ir_node *irn)
proj_true
=
proj_false
;
proj_false
=
t
;
proj_num
=
get_negated_pnc
(
proj_num
,
mode_
I
u
);
proj_num
=
get_negated_pnc
(
proj_num
,
mode_
L
u
);
}
switch
(
proj_num
)
{
...
...
ir/be/amd64/amd64_spec.pl
View file @
f3abfc04
...
...
@@ -115,7 +115,7 @@ $arch = "amd64";
{
name
=>
"
r14
",
type
=>
2
},
{
name
=>
"
r15
",
type
=>
2
},
# { name => "gp_NOREG", type => 4 }, # we need a dummy register for NoReg nodes
{
mode
=>
"
mode_
I
u
"
}
{
mode
=>
"
mode_
L
u
"
}
],
# fp => [
# { name => "xmm0", type => 1 },
...
...
@@ -142,7 +142,7 @@ $arch = "amd64";
],
);
$mode_gp
=
"
mode_
I
u
";
$mode_gp
=
"
mode_
L
u
";
$mode_flags
=
"
mode_Iu
";
sub
amd64_custom_init_attr
{
...
...
ir/be/amd64/amd64_transform.c
View file @
f3abfc04
...
...
@@ -75,8 +75,8 @@ static ir_node *create_const_graph(ir_node *irn, ir_node *block)
if
(
mode_is_reference
(
mode
))
{
/* AMD64 is 64bit, so we can safely convert a reference tarval into Iu */
assert
(
get_mode_size_bits
(
mode
)
==
get_mode_size_bits
(
mode_
I
u
));
tv
=
tarval_convert_to
(
tv
,
mode_
I
u
);
assert
(
get_mode_size_bits
(
mode
)
==
get_mode_size_bits
(
mode_
L
u
));
tv
=
tarval_convert_to
(
tv
,
mode_
L
u
);
}
value
=
get_tarval_long
(
tv
);
...
...
@@ -283,8 +283,8 @@ static ir_node *gen_Phi(ir_node *node)
ir_node
*
phi
;
if
(
mode_needs_gp_reg
(
mode
))
{
/* all integer operations are on
32
bit registers now */
mode
=
mode_
I
u
;
/* all integer operations are on
64
bit registers now */
mode
=
mode_
L
u
;
req
=
amd64_reg_classes
[
CLASS_amd64_gp
].
class_req
;
}
else
{
req
=
arch_no_register_req
;
...
...
@@ -435,7 +435,7 @@ static ir_node *gen_Proj_Load(ir_node *node)
case
iro_amd64_Load
:
/* handle all gp loads equal: they have the same proj numbers. */
if
(
proj
==
pn_Load_res
)
{
return
new_rd_Proj
(
dbgi
,
new_load
,
mode_
I
u
,
pn_amd64_Load_res
);
return
new_rd_Proj
(
dbgi
,
new_load
,
mode_
L
u
,
pn_amd64_Load_res
);
}
else
if
(
proj
==
pn_Load_M
)
{
return
new_rd_Proj
(
dbgi
,
new_load
,
mode_M
,
pn_amd64_Load_M
);
}
...
...
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