Re: [PATCH] i386: Add register source to movddup

2018-10-14 Thread H.J. Lu
On 10/14/18, Alexander Monakov wrote: > On Sun, 14 Oct 2018, Uros Bizjak wrote: >> > +/* { dg-final { scan-assembler-times "punpcklqdq\[ \\t\]+%xmm\[0-9\],\[ >> > \\t\]+%xmm\[0-9\]" 1 } } */ >> >> You need to scan for %xmm\[0-9\]+, otherwise xmm10 is already out of >> luck. > > I think it would be

Re: [PATCH] i386: Add register source to movddup

2018-10-14 Thread Alexander Monakov
On Sun, 14 Oct 2018, Uros Bizjak wrote: > > +/* { dg-final { scan-assembler-times "punpcklqdq\[ \\t\]+%xmm\[0-9\],\[ > > \\t\]+%xmm\[0-9\]" 1 } } */ > > You need to scan for %xmm\[0-9\]+, otherwise xmm10 is already out of luck. I think it would be preferable to scan for 'punpcklqdq xmm0, xmm0' e

Re: [PATCH] i386: Add register source to movddup

2018-10-14 Thread Uros Bizjak
On Sat, Oct 13, 2018 at 11:54 PM H.J. Lu wrote: > > Add register source to movddup so that IRA will allow register source > for *vec_dupv2di when SSE3 is enabled. > > gcc/ > > PR target/87599 > * config/i386/sse.md (*vec_dupv2di): Add register source to > movddup. > > gcc/t

Re: [PATCH] i386: Add register source to movddup

2018-10-14 Thread Alexander Monakov
On Sun, 14 Oct 2018, Alexander Monakov wrote: > > I doubt this is a correct fix, and I think the issue merits more > investigation. > Please see comment #5 in the PR. Sorry, it seems I was misunderstanding how constraints interact with cost calculation. I withdraw my objection to the patch. Ale

Re: [PATCH] i386: Add register source to movddup

2018-10-13 Thread Alexander Monakov
On Sat, 13 Oct 2018, H.J. Lu wrote: > Add register source to movddup so that IRA will allow register source > for *vec_dupv2di when SSE3 is enabled. > > gcc/ > > PR target/87599 > * config/i386/sse.md (*vec_dupv2di): Add register source to > movddup. > > gcc/testsuite/ > >

[PATCH] i386: Add register source to movddup

2018-10-13 Thread H.J. Lu
Add register source to movddup so that IRA will allow register source for *vec_dupv2di when SSE3 is enabled. gcc/ PR target/87599 * config/i386/sse.md (*vec_dupv2di): Add register source to movddup. gcc/testsuite/ PR target/87599 * gcc.target/i386/pr87599