+ if (!is_downconv(mode, dest_mode)) {
+ return place_conv(node, dest_mode);
+ }
+
+ if (is_Conv(node)) {
+ ir_node *pred = get_Conv_op(node);
+ ir_mode *pred_mode = get_irn_mode(pred);
+
+ if (!values_in_mode(dest_mode, pred_mode)) {
+ return place_conv(node, dest_mode);
+ }