On Tue, Apr 26, 2016 at 11:39 AM, H.J. Lu <hjl.to...@gmail.com> wrote: > 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. >
Hi Bernd, Are you planning to submit your patch before July? If not, I will resubmit mine and work out all the issues. It may take a long time to review and I have patches to enable SSE, AVX, AVX512 f memset and memcpy, which depend on it. I'd like to see them before stage 2 for GCC 7. Thanks. -- H.J.