The patch for PR118067 wrongly checked hard reg set subset. It worked for
the equal sets as in PR118067. But it was wrong in other cases as in
PR118560 (inordinate compile time).
gcc/ChangeLog:
PR target/118560
* lra-constraints.cc (invalid_mode_reg_p): Exchange args in
hard_reg_set_subset_p call.
if (! REG_P (x))
return false;
enum reg_class rclass = get_reg_class (REGNO (x));
- return hard_reg_set_subset_p (ira_prohibited_class_mode_regs[rclass][mode],
- reg_class_contents[rclass]);
+ return hard_reg_set_subset_p (reg_class_contents[rclass],
+ ira_prohibited_class_mode_regs[rclass][mode]);
}
/* Main entry point of the constraint code: search the body of the