On Tue, Apr 26, 2016 at 11:31 AM, Bernd Schmidt <bschm...@redhat.com> wrote: > On 04/26/2016 08:21 PM, Richard Sandiford wrote: >> >> "H.J. Lu" <hongjiu...@intel.com> writes: >>> >>> I am working a patch to enable SSE, AVX and AVX512 for memcpy/memset >>> optimization. x86 backend defines MAX_BITSIZE_MODE_ANY_INT to 128 >>> to keep the OI and XI modes from confusing the compiler into thinking >>> that these modes could actually be used for computation. But the OI >>> and XI modes can be used for data movement with vector instructions. >> >> >> But doesn't this then open the possibility that a memset or memcpy >> will be seen as a "normal" integer operation? Routines like >> simplify_immed_subreg could in principle create a constant integer >> for the stored value, which could then be treated by later passes as >> a wide_int, breaking the MAX_BITSIZE_MODE_ANY_INT assumption. >> >> Couldn't we move to allowing vector modes instead? That seems better >> than having to pander to the current situation in which every vector >> effectively needs an associated integer mode. > > > I'm actually working on a patch in this area. Haven't gotten to the point of > allowing vector modes yet, but it's something that I've had on my mind; I > think it would be a good idea. >
I am looking forward to seeing your patch. Thanks. -- H.J.