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

2016-10-11 Thread Claudiu Zissulescu
Hi Jeff, > IIRC you're not supposed to have (subreg (mem)) expressions at this point. > > Any (subreg (mem)) at this point can be trivially turned into a simple > memory load. > The issue is that the mode_dependent_address_p hook returns true, thus the simplify_subreg() will not simplify the su

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

2016-10-11 Thread Jeff Law
On 10/11/2016 08:48 AM, Claudiu Zissulescu wrote: 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 [0xfec0])) [4 buf1.state+0 S8 A32]) 4)) which it look

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

2016-10-11 Thread Claudiu Zissulescu
Sorry for the noise, I've remember I had a similar issue in the past. Thanks, Claudiu On Tue, Oct 11, 2016 at 4:48 PM, Claudiu Zissulescu wrote: > 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-var

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

2016-10-11 Thread Claudiu Zissulescu
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 [0xfec0])) [4 buf1.state+0 S8 A32]) 4)) which it looks too complex to be handled by the VREGS pass. I.e.,