On 06/04/2014 10:06 AM, Evgeny Stupachenko wrote:
> Is it ok to use the following pattern?
> 
> patch passed bootstrap and make check, but one test failed:
> gcc/testsuite/gcc.target/i386/vect-rebuild.c
> It failed on /* { dg-final { scan-assembler-times "\tv?permilpd\[ \t\]" 1 } } 
> */
> which is now palignr. However, both palignr and permilpd costs 1 tick
> and take 6 bytes in the opcode.
> I vote for modifying the test to scan for palignr:
> /* { dg-final { scan-assembler-times "\tv?palignr\[ \t\]" 1 } } */
> 
> 2014-06-04  Evgeny Stupachenko  <evstu...@gmail.com>
> 
>          * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
>          * config/i386/predicates.md (palignr_operand): New.
>          Indicates if permutation is suitable for palignr instruction.

Surely permilpd avoids some sort of reformatting penalty when actually using
doubles.

If you move this pattern down below the other vec_select patterns, we'll prefer
the others for matching masks.


r~

Reply via email to