[RFC] Handle memset in DSE (take 2)

Jakub Jelinek jakub@redhat.com
Fri Dec 19 20:31:00 GMT 2008


On Fri, Dec 19, 2008 at 11:27:29AM -0800, Nathan Froyd wrote:
> On Mon, Dec 15, 2008 at 01:17:47PM +0100, Jakub Jelinek wrote:
> > @@ -1229,12 +1329,20 @@ record_store (rtx body, bb_info_t bb_inf
> >        return 0;
> >      }
> >  
> > -  width = GET_MODE_SIZE (GET_MODE (mem));
> > +  if (GET_MODE (mem) == BLKmode)
> > +    width = INTVAL (MEM_SIZE (mem));
> > +  else
> > +    {
> > +      width = GET_MODE_SIZE (GET_MODE (mem));
> > +      gcc_assert ((unsigned) width <= HOST_BITS_PER_WIDE_INT);
> > +    }
> 
> This assert will trigger on ARM NEON code that works with 64-byte types.

That assert isn't new.
  gcc_assert ((unsigned) width <= HOST_BITS_PER_WIDE_INT);
is in current unpatched dse.c as well.
That said, now that the patch handles widths up to MAX_OFFSET bytes
(64KB), the assert could be perhaps dropped.

	Jakub



More information about the Gcc-patches mailing list