Re: arm memcpy of aligned data

2015-08-17 Thread Kyrill Tkachov
On 16/08/15 20:01, Mike Stump wrote: On Jun 15, 2015, at 7:30 AM, Kyrill Tkachov wrote: On 29/05/15 11:15, Kyrill Tkachov wrote: On 29/05/15 10:08, Kyrill Tkachov wrote: Hi Mike, On 28/05/15 22:15, Mike Stump wrote: So, the arm memcpy code of aligned data isn’t as good as it can be. void

Re: arm memcpy of aligned data

2015-08-16 Thread Mike Stump
On Jun 15, 2015, at 7:30 AM, Kyrill Tkachov wrote: > > On 29/05/15 11:15, Kyrill Tkachov wrote: >> On 29/05/15 10:08, Kyrill Tkachov wrote: >>> Hi Mike, >>> >>> On 28/05/15 22:15, Mike Stump wrote: So, the arm memcpy code of aligned data isn’t as good as it can be. void *memcpy(v

Re: arm memcpy of aligned data

2015-06-15 Thread Richard Earnshaw
d >>>> dstoffset + j * UNITS_PER_WORD - dst_autoinc); >>>> mem = adjust_automodify_address (dstbase, SImode, addr, >>>>dstoffset + j * UNITS_PER_WORD); >>>> - emit_insn (gen_unaligned_storesi (mem, regs[j])); >&g

Re: arm memcpy of aligned data

2015-06-15 Thread Kyrill Tkachov
s if you can check it in with the test case above marked up as appropriate. commit 77191f4224c8729d014a9150bd9364f95ff704b0 Author: Kyrylo Tkachov Date: Fri May 29 10:44:21 2015 +0100 [ARM] arm memcpy of aligned data diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 638d659..3

Re: arm memcpy of aligned data

2015-05-29 Thread Kyrill Tkachov
On 29/05/15 10:08, Kyrill Tkachov wrote: Hi Mike, On 28/05/15 22:15, Mike Stump wrote: So, the arm memcpy code of aligned data isn’t as good as it can be. void *memcpy(void *dest, const void *src, unsigned int n); void foo(char *dst, int i) { memcpy (dst, &i, sizeof (i)); } generates ho

Re: arm memcpy of aligned data

2015-05-29 Thread Kyrill Tkachov
Hi Mike, On 28/05/15 22:15, Mike Stump wrote: So, the arm memcpy code of aligned data isn’t as good as it can be. void *memcpy(void *dest, const void *src, unsigned int n); void foo(char *dst, int i) { memcpy (dst, &i, sizeof (i)); } generates horrible code, but, it we are willing to notic

Re: arm memcpy of aligned data

2015-05-28 Thread Oleg Endo
On 28 May 2015, at 23:15, Mike Stump wrote: > So, the arm memcpy code of aligned data isn’t as good as it can be. > > void *memcpy(void *dest, const void *src, unsigned int n); > > void foo(char *dst, int i) { > memcpy (dst, &i, sizeof (i)); > } > > generates horrible code, but, it we are wi

arm memcpy of aligned data

2015-05-28 Thread Mike Stump
So, the arm memcpy code of aligned data isn’t as good as it can be. void *memcpy(void *dest, const void *src, unsigned int n); void foo(char *dst, int i) { memcpy (dst, &i, sizeof (i)); } generates horrible code, but, it we are willing to notice the src or the destination are aligned, we can