Commit 0e7d9243 authored by yb9976's avatar yb9976
Browse files

PBQP transformer doesn't support Mux nodes with constant values.

[r25205]
parent 4afdd22d
......@@ -2249,8 +2249,22 @@ static int ia32_is_mux_allowed(ir_node *sel, ir_node *phi_list, int i, int j)
if (mode_is_float(mode)) {
/* always support Mux(!float, C1, C2) */
if (is_Const(t) && is_Const(f) && !mode_is_float(get_irn_mode(cl)))
continue;
if (is_Const(t) && is_Const(f) &&
!mode_is_float(get_irn_mode(cl))) {
switch (be_transformer) {
case TRANSFORMER_DEFAULT:
/* always support Mux(!float, C1, C2) */
continue;
#ifdef FIRM_GRGEN_BE
case TRANSFORMER_PBQP:
case TRANSFORMER_RAND:
/* no support for Mux(*, C1, C2) */
return 0;
#endif
default:
panic("invalid transformer");
}
}
/* only abs or nabs supported */
if (! psi_is_Abs_or_Nabs(cmp, sel, t, f))
return 0;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment