+ /* add register constraint constraints */
+ for (col = 0; col < n_regs; ++col) {
+ int cst_idx;
+ int var_idx;
+ if (rbitset_is_set(colors, col)
+ // for aligned variable, we set the unaligned part to 0
+ && (!has_alignment_cstr || ((col % req->width) == 0)))
+ continue;
+
+ make_color_var_name(buf, sizeof(buf), irn, col);
+ cst_idx = lpp_add_cst(ienv->lp, NULL, lpp_equal, 0.0);
+ var_idx = lpp_add_var(ienv->lp, buf, lpp_binary, 0.0);
+ lpp_set_start_value(ienv->lp, var_idx, 0.0);
+ lpp_set_factor_fast(ienv->lp, cst_idx, var_idx, 1);
+
+ lenv->last_x_var = var_idx;