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]

Re: BIT_FIELD_REF on the LHS


On 7/13/06, Richard Guenther <richard.guenther@gmail.com> wrote:
On 7/13/06, Andrew Pinski <pinskia@gmail.com> wrote:
> So I started to try to fold *(type*)(&vector_type_var) into
> BIT_FIELD_REF <t, 32, 0> but I ran into a bug where the SSA messes
> itself up.
> This works for the right hand side just fine as
> BIT_FIELD_REF<SSA_NAME, x, y > is easyly valid gimple.  When the
> BIT_FIELD_REF is on the left hand side, it turns out that we produce:
> BIT_FIELD_REF<t1_2, x, y > = t_1 still even though t1_2 is killed
> during the BIT_FIELD_REF.

it's only a partial kill, which you cannot do to ssa names.  So you'd need to
go the

t1_2 = { t[0], other, t[1], t[2] }

route to fix this.

This looks _so_ much like the SUBREG issues with RTL SSA :-)


Gr.
Steven


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