backport: re PR target/80819 (Useless store to the stack in _mm_set_epi64x with SSE4 -mno-avx)
Backported from mainline 2017-11-29 Jakub Jelinek <jakub@redhat.com> PR target/80819 * config/i386/sse.md (vec_concatv2di): Remove * from (=Yr,0,*rm) alternative. * gcc.target/i386/pr80819-1.c: New test. * gcc.target/i386/pr80819-2.c: New test. From-SVN: r255720
This commit is contained in:
parent
d67cb7e401
commit
ab26ce4518
|
@ -1,6 +1,12 @@
|
||||||
2017-12-15 Jakub Jelinek <jakub@redhat.com>
|
2017-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Backported from mainline
|
Backported from mainline
|
||||||
|
2017-11-29 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR target/80819
|
||||||
|
* config/i386/sse.md (vec_concatv2di): Remove * from (=Yr,0,*rm)
|
||||||
|
alternative.
|
||||||
|
|
||||||
2017-11-25 Jakub Jelinek <jakub@redhat.com>
|
2017-11-25 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR rtl-optimization/81553
|
PR rtl-optimization/81553
|
||||||
|
|
|
@ -13852,7 +13852,7 @@
|
||||||
(match_operand:DI 1 "nonimmediate_operand"
|
(match_operand:DI 1 "nonimmediate_operand"
|
||||||
" 0, 0,x ,Yv,r ,vm,?!*Yn,0,Yv,0,0,v")
|
" 0, 0,x ,Yv,r ,vm,?!*Yn,0,Yv,0,0,v")
|
||||||
(match_operand:DI 2 "vector_move_operand"
|
(match_operand:DI 2 "vector_move_operand"
|
||||||
"*rm,rm,rm,rm,C ,C ,C ,x,Yv,x,m,m")))]
|
" rm,rm,rm,rm,C ,C ,C ,x,Yv,x,m,m")))]
|
||||||
"TARGET_SSE"
|
"TARGET_SSE"
|
||||||
"@
|
"@
|
||||||
pinsrq\t{$1, %2, %0|%0, %2, 1}
|
pinsrq\t{$1, %2, %0|%0, %2, 1}
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
2017-12-15 Jakub Jelinek <jakub@redhat.com>
|
2017-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Backported from mainline
|
Backported from mainline
|
||||||
|
2017-11-29 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR target/80819
|
||||||
|
* gcc.target/i386/pr80819-1.c: New test.
|
||||||
|
* gcc.target/i386/pr80819-2.c: New test.
|
||||||
|
|
||||||
2017-11-27 Jakub Jelinek <jakub@redhat.com>
|
2017-11-27 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR c++/81888
|
PR c++/81888
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
/* PR target/80819 */
|
||||||
|
/* { dg-do compile { target { ! ia32 } } } */
|
||||||
|
/* { dg-options "-O2 -msse4 -mno-avx -mtune=haswell -masm=att" } */
|
||||||
|
|
||||||
|
typedef unsigned long long V __attribute__((vector_size (16)));
|
||||||
|
|
||||||
|
V
|
||||||
|
foo (unsigned long long x, unsigned long long y)
|
||||||
|
{
|
||||||
|
return (V) { x, y };
|
||||||
|
}
|
||||||
|
|
||||||
|
/* { dg-final { scan-assembler-not "movq\[ \t]*%rsi, \[-0-9]*\\(" } } */
|
|
@ -0,0 +1,13 @@
|
||||||
|
/* PR target/80819 */
|
||||||
|
/* { dg-do compile { target { ! ia32 } } } */
|
||||||
|
/* { dg-options "-O2 -msse4 -mno-avx -mtune=generic -masm=att" } */
|
||||||
|
|
||||||
|
typedef unsigned long long V __attribute__((vector_size (16)));
|
||||||
|
|
||||||
|
V
|
||||||
|
foo (unsigned long long x, unsigned long long y)
|
||||||
|
{
|
||||||
|
return (V) { x, y };
|
||||||
|
}
|
||||||
|
|
||||||
|
/* { dg-final { scan-assembler-not "movq\[ \t]*%rsi, \[-0-9]*\\(" } } */
|
Loading…
Reference in New Issue