aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/java/rmi/rmic
diff options
context:
space:
mode:
authorVladimir N. Makarov <vmakarov@redhat.com>2026-01-28 10:52:21 -0500
committerVladimir N. Makarov <vmakarov@redhat.com>2026-01-28 11:01:51 -0500
commitda65c9d0ae20eda452e52ab9b2e3e110911a2d21 (patch)
tree8729f3cbc6b1567c734d1a6df5c721baacd55c67 /libjava/gnu/java/rmi/rmic
parent92f976fc2a87a867f70921b577f7c79acd214eaf (diff)
downloadgcc-trunk.zip
gcc-trunk.tar.gz
gcc-trunk.tar.bz2
[PR121571, LRA]: Reprocess asm insn with different preferences when there are no enough regs for the asm-insnHEADtrunkmaster
The test for the PR contains asm insn requiring 7 general regs but three operands can be in memory too ('g' constraint). There are only 6 available general regs. IRA in the test case assigns a mask reg to one pseudo. When LRA reloads the pseudo assigned to mask reg, it frees general reg assigned to another pseudo in the asm and assigns mask reg to another pseudo. After a few iterations, we have asm all operands of which are reload pseudos assigned to general regs and one pseudo assigned to mask reg. After that LRA can do nothing and reports "not enough regs". The patch recognizes situation when there are not enough regs for an asm insn and makes 2nd attempt to find reloads when memory for operands with 'g' or 'rm' constraint is preferred. gcc/ChangeLog: PR target/121571 * lra-constraints.cc (process_alt_operands): Reprocess asm insn when there are no enough regs for the asm-insn. gcc/testsuite/ChangeLog: PR target/121571 * gcc.target/i386/pr121571.c: New.
Diffstat (limited to 'libjava/gnu/java/rmi/rmic')
0 files changed, 0 insertions, 0 deletions