https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104400
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Vladimir Makarov <vmaka...@gcc.gnu.org>: https://gcc.gnu.org/g:274a4d29421e73c9b40c1641986c6ed904e20184 commit r12-7200-g274a4d29421e73c9b40c1641986c6ed904e20184 Author: Vladimir N. Makarov <vmaka...@redhat.com> Date: Fri Feb 11 09:52:14 2022 -0500 [PR104400] LRA: Modify exclude start hard register calculation for insn alternative v850 target has an interesting insn alternative constraint 'e!r' where e denotes even general regs and e is a subset of r. We cannot just make union of exclude start hard registers for e and r and should use only exclude start hard registers of r. The following patch implements this. gcc/ChangeLog: PR rtl-optimization/104400 * lra-constraints.cc (process_alt_operands): Don't make union of this_alternative_exclude_start_hard_regs when reg class in insn alternative covers other reg classes in the same alternative. gcc/testsuite/ChangeLog: PR rtl-optimization/104400 * gcc.target/v850/pr104400.c: New. * gcc.target/v850/v850.exp: New.