------- Comment #6 from hjl dot tools at gmail dot com  2008-08-28 21:28 -------
(In reply to comment #5)
> (In reply to comment #4)
> > (In reply to comment #1)
> > > Fix for at least PowerPC (we should be trying to get the correct sized 
> > > vector
> > > mode):
> > > Index: expmed.c
> > > ===================================================================
> > > --- expmed.c    (revision 2510)
> > > +++ expmed.c    (working copy)
> > > @@ -1129,7 +1129,7 @@ extract_bit_field (rtx str_rtx, unsigned
> > >         new_mode = MIN_MODE_VECTOR_INT;
> > > 
> > >        for (; new_mode != VOIDmode ; new_mode = GET_MODE_WIDER_MODE 
> > > (new_mode))
> > > -       if (GET_MODE_NUNITS (new_mode) == nunits
> > > +       if (GET_MODE_SIZE (new_mode) == GET_MODE_SIZE (new_mode)
> > 
> > I may have missed something. Is this always true?
> 
> Try replacing one of the new_mode with GET_MODE (op0) :).
> 

Both patches avoid ICE on my testcase. But my patch generates short code.
Can you try my patch on your testcase?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36444

Reply via email to