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
5334c621
Commit
5334c621
authored
Jan 15, 2014
by
Tobias Rapp
Browse files
Binary shifting operations work without zext/upconv/...
parent
cfb9ab2a
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/be/amd64/amd64_transform.c
View file @
5334c621
...
...
@@ -621,12 +621,9 @@ static ir_node *gen_shift_binop(ir_node *node, ir_node *op1, ir_node *op2,
mode
=
get_mode_size_bits
(
mode
)
>
32
?
mode_gp
:
mode_Iu
;
}
else
{
op1
=
skip_sameconv
(
op1
);
if
(
get_mode_size_bits
(
mode
)
!=
32
&&
get_mode_size_bits
(
mode
)
!=
64
)
{
panic
(
"TODO: different modes, upconv/zext, ..."
);
}
else
{
in
[
arity
++
]
=
be_transform_node
(
op1
);
}
/* Use 8/16bit operations instead of doing zext/upconv */
in
[
arity
++
]
=
be_transform_node
(
op1
);
}
/* we can skip any convs for the shift count, as it only uses the lowest
...
...
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