re PR target/53759 (gcc -mavx emits vshufps for __builtin_ia32_loadlps)
PR target/53759 * config/i386/sse.md (sse_loadlps): Use x m x constraints instead of x x x in the vmovlps load alternative. * gcc.target/i386/pr53759.c: New test. From-SVN: r188938
This commit is contained in:
parent
2277d6b327
commit
bbd6a32677
|
@ -1,3 +1,9 @@
|
|||
2012-06-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/53759
|
||||
* config/i386/sse.md (sse_loadlps): Use x m x constraints instead
|
||||
of x x x in the vmovlps load alternative.
|
||||
|
||||
2012-06-22 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* gcov-iov.c: Include bconfig.h and system.h.
|
||||
|
|
|
@ -3744,7 +3744,7 @@
|
|||
(define_insn "sse_loadlps"
|
||||
[(set (match_operand:V4SF 0 "nonimmediate_operand" "=x,x,x,x,m")
|
||||
(vec_concat:V4SF
|
||||
(match_operand:V2SF 2 "nonimmediate_operand" " 0,x,m,x,x")
|
||||
(match_operand:V2SF 2 "nonimmediate_operand" " 0,x,m,m,x")
|
||||
(vec_select:V2SF
|
||||
(match_operand:V4SF 1 "nonimmediate_operand" " x,x,0,x,0")
|
||||
(parallel [(const_int 2) (const_int 3)]))))]
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2012-06-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/53759
|
||||
* gcc.target/i386/pr53759.c: New test.
|
||||
|
||||
PR c++/53594
|
||||
* g++.dg/cpp0x/nsdmi7.C: New test.
|
||||
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
/* PR target/53759 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -mavx" } */
|
||||
/* { dg-require-effective-target avx } */
|
||||
|
||||
#include <xmmintrin.h>
|
||||
|
||||
void
|
||||
foo (__m128 *x, __m64 *y)
|
||||
{
|
||||
__m128 a = _mm_setzero_ps ();
|
||||
__m128 b = _mm_loadl_pi (a, y);
|
||||
*x = _mm_add_ps (b, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler "vmovlps\[ \\t\]" } } */
|
||||
/* { dg-final { scan-assembler-not "vshufps\[ \\t\]" } } */
|
Loading…
Reference in New Issue