n = b; /* Convb(Conv*(xxxb(...))) == xxxb(...) */
DBG_OPT_ALGSIM1(oldn, a, b, n, FS_OPT_CONV);
} else if (mode_is_int(n_mode)) {
- if (smaller_mode(b_mode, a_mode)){
+ if (get_mode_size_bits(b_mode) <= get_mode_size_bits(a_mode)) {
n = b; /* ConvS(ConvL(xxxS(...))) == xxxS(...) */
DBG_OPT_ALGSIM1(oldn, a, b, n, FS_OPT_CONV);
}
ir_mode *mode_left = get_irn_mode(op_left);
ir_mode *mode_right = get_irn_mode(op_right);
- if (smaller_mode(mode_left, mode) && smaller_mode(mode_right, mode)
- && mode_is_signed(mode) == mode_is_signed(mode_left)
- && mode_is_signed(mode) == mode_is_signed(mode_right)) {
+ if (smaller_mode(mode_left, mode) && smaller_mode(mode_right, mode)) {
ir_graph *irg = current_ir_graph;
ir_node *block = get_nodes_block(n);