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
35937fa4
Commit
35937fa4
authored
Dec 02, 2014
by
Christoph Mallon
Browse files
ia32: Simplify emit_ia32_IMul().
The noreg is always different to any output register.
parent
815baaee
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/be/ia32/ia32_emitter.c
View file @
35937fa4
...
...
@@ -688,12 +688,10 @@ unknown:
static
void
emit_ia32_IMul
(
const
ir_node
*
node
)
{
ir_node
*
left
=
get_irn_n
(
node
,
n_ia32_IMul_left
);
const
arch_register_t
*
out_reg
=
arch_get_irn_register_out
(
node
,
pn_ia32_IMul_res
);
/* do we need the 3-address form? */
if
(
is_ia32_NoReg_GP
(
left
)
||
arch_get_irn_register_in
(
node
,
n_ia32_IMul_left
)
!=
out_reg
)
{
arch_register_t
const
*
const
in_reg
=
arch_get_irn_register_in
(
node
,
n_ia32_IMul_left
);
arch_register_t
const
*
const
out_reg
=
arch_get_irn_register_out
(
node
,
pn_ia32_IMul_res
);
if
(
in_reg
!=
out_reg
)
{
ia32_emitf
(
node
,
"imul%M %#S4, %#AS3, %#D0"
);
}
else
{
ia32_emitf
(
node
,
"imul%M %#AS4, %#S3"
);
...
...
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