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
81df5bee
Commit
81df5bee
authored
Sep 26, 2015
by
Christoph Mallon
Browse files
amd64: Dump the AM variant.
parent
13ca75d8
Changes
3
Hide whitespace changes
Inline
Side-by-side
ir/be/amd64/amd64_new_nodes.c
View file @
81df5bee
...
...
@@ -159,8 +159,12 @@ static void amd64_dump_node(FILE *F, const ir_node *n, dump_reason_t reason)
if
(
amd64_has_addr_attr
(
n
))
{
const
amd64_addr_attr_t
*
addr_attr
=
get_amd64_addr_attr_const
(
n
);
fprintf
(
F
,
"size = %s
\n
"
,
get_insn_mode_string
(
addr_attr
->
insn_mode
));
fprintf
(
F
,
"base input: %d
\n
"
,
addr_attr
->
addr
.
base_input
);
fprintf
(
F
,
"index input: %d
\n
"
,
addr_attr
->
addr
.
index_input
);
x86_addr_variant_t
const
variant
=
addr_attr
->
addr
.
variant
;
fprintf
(
F
,
"am variant = %s
\n
"
,
x86_get_addr_variant_str
(
variant
));
if
(
x86_addr_variant_has_base
(
variant
))
fprintf
(
F
,
"base input: %d
\n
"
,
addr_attr
->
addr
.
base_input
);
if
(
x86_addr_variant_has_index
(
variant
))
fprintf
(
F
,
"index input: %d
\n
"
,
addr_attr
->
addr
.
index_input
);
fputs
(
"am imm: "
,
F
);
x86_dump_imm32
(
&
addr_attr
->
addr
.
immediate
,
F
);
fputc
(
'\n'
,
F
);
...
...
ir/be/ia32/x86_address_mode.c
View file @
81df5bee
...
...
@@ -467,3 +467,16 @@ void x86_free_non_address_mode_nodes(void)
{
free
(
non_address_mode_nodes
);
}
char
const
*
x86_get_addr_variant_str
(
x86_addr_variant_t
const
variant
)
{
switch
(
variant
)
{
case
X86_ADDR_INVALID
:
return
"invalid"
;
case
X86_ADDR_JUST_IMM
:
return
"immediate"
;
case
X86_ADDR_BASE
:
return
"base"
;
case
X86_ADDR_BASE_INDEX
:
return
"base+index"
;
case
X86_ADDR_INDEX
:
return
"index"
;
case
X86_ADDR_RIP
:
return
"rip"
;
}
return
"<BAD>"
;
}
ir/be/ia32/x86_address_mode.h
View file @
81df5bee
...
...
@@ -25,6 +25,8 @@ typedef enum {
X86_ADDR_RIP
,
}
x86_addr_variant_t
;
char
const
*
x86_get_addr_variant_str
(
x86_addr_variant_t
);
static
inline
bool
x86_addr_variant_has_base
(
x86_addr_variant_t
const
variant
)
{
return
variant
==
X86_ADDR_BASE
||
variant
==
X86_ADDR_BASE_INDEX
;
...
...
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