This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

VREGS cannot handle subreg(mem (plus ...)) pattern


Hi,

Out of the expand  I get the following pattern:

(set (reg:SI 203)
        (subreg:SI (mem/c:DI (plus:SI (reg/f:SI 147 virtual-stack-vars)
                    (const_int -320 [0xfffffffffffffec0])) [4 buf1.state+0 S8 A32]) 4))

which it looks too complex to be handled by the VREGS pass. I.e., in the instantiate_virtual_regs_in_insn() function, it seems we handle only subreg (reg ...).
As a consequence, the virtual-stack-vars reg is not instantiated leading to a compiler internal error later on.

Now, is the above pattern expected out of expand? Is the VREGS expected to handle this type of pattern?

Many thanks,
Claudiu


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]