]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
x86-tune.def: Enable X86_TUNE_SSE_TYPELESS_STORES for generic...
authorJan Hubicka <jh@suse.cz>
Thu, 10 Oct 2013 17:52:40 +0000 (19:52 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 10 Oct 2013 17:52:40 +0000 (17:52 +0000)
* config/i386/x86-tune.def: Enable X86_TUNE_SSE_TYPELESS_STORES
for generic, enable X86_TUNE_SSE_LOAD0_BY_PXOR for Bulldozer,
Bobcat and generic.

* gcc.target/i386/avx256-unaligned-store-3.c: Update template for
tuning change.
* gcc.target/i386/avx256-unaligned-store-1.c: Likewise.
* gcc.target/i386/pr49168-1.c: Likewise.
* gcc.target/i386/pr49002-2.c: Likewise.

From-SVN: r203387

gcc/ChangeLog
gcc/config/i386/x86-tune.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c
gcc/testsuite/gcc.target/i386/pr49002-2.c
gcc/testsuite/gcc.target/i386/pr49168-1.c

index e91562fdd902ff6bc65f0bb232f8b4b5ab2d92b5..0e3efc369dee9e6282429b9c4d1deed33e20c82f 100644 (file)
@@ -1,3 +1,9 @@
+2013-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * config/i386/x86-tune.def: Enable X86_TUNE_SSE_TYPELESS_STORES
+       for generic, enable X86_TUNE_SSE_LOAD0_BY_PXOR for Bulldozer,
+       Bobcat and generic.
+
 2013-10-10  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/58670
index 6b0a593ddda6284a011663ff72924cb295f1d017..34484a287491f29ffa0c1b6f27649d82e547a541 100644 (file)
@@ -221,16 +221,14 @@ DEF_TUNE (X86_TUNE_SSE_PACKED_SINGLE_INSN_OPTIMAL, "sse_packed_single_insn_optim
    upper part undefined.  */
 DEF_TUNE (X86_TUNE_SSE_SPLIT_REGS, "sse_split_regs", m_ATHLON_K8)
 
-/* X86_TUNE_SSE_TYPELESS_STORES: Always movaps/movups for 128bit stores. 
-   FIXME: Shall we enable it for generic?  */
+/* X86_TUNE_SSE_TYPELESS_STORES: Always movaps/movups for 128bit stores.   */
 DEF_TUNE (X86_TUNE_SSE_TYPELESS_STORES, "sse_typeless_stores",
-         m_AMD_MULTIPLE | m_CORE_ALL)
+         m_AMD_MULTIPLE | m_CORE_ALL | m_GENERIC)
 
 /* X86_TUNE_SSE_LOAD0_BY_PXOR: Always use pxor to load0 as opposed to
-   xorps/xorpd and other variants.
-   FIXME: Shall we enable it buldozers and for generic?  */
+   xorps/xorpd and other variants.  */
 DEF_TUNE (X86_TUNE_SSE_LOAD0_BY_PXOR, "sse_load0_by_pxor",
-         m_PPRO | m_P4_NOCONA | m_CORE_ALL)
+         m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_BDVER | m_BTVER | m_GENERIC)
 
 /* X86_TUNE_MEMORY_MISMATCH_STALL: Avoid partial stores that are followed by
    full sized loads.  */
index 5e4882a2430e66358e2f660560f81a93e6d6a952..92b24ea8fa89a1ac77a2fab32792cb3185aa8a65 100644 (file)
@@ -1,3 +1,11 @@
+2013-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.target/i386/avx256-unaligned-store-3.c: Update template for
+       tuning change.
+       * gcc.target/i386/avx256-unaligned-store-1.c: Likewise.
+       * gcc.target/i386/pr49168-1.c: Likewise.
+       * gcc.target/i386/pr49002-2.c: Likewise.
+
 2013-10-10  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/58670
index 977662beb34a1f55ee3d6fb20a2f46c1d6534a69..48e2efa13823987d32e6d2e60cbf455568b7f81f 100644 (file)
@@ -24,5 +24,5 @@ avx_test (void)
 }
 
 /* { dg-final { scan-assembler-not "avx_storedqu256" } } */
-/* { dg-final { scan-assembler "vmovdqu.*\\*movv16qi_internal/3" } } */
+/* { dg-final { scan-assembler "vmovups.*\\*movv16qi_internal/3" } } */
 /* { dg-final { scan-assembler "vextract.128" } } */
index e6744a892bc4fb81c77f77c30269c6adaf27784f..6175d52176406ea278b5c310cb291ba9bb077744 100644 (file)
@@ -18,5 +18,5 @@ avx_test (void)
 }
 
 /* { dg-final { scan-assembler-not "avx_storeupd256" } } */
-/* { dg-final { scan-assembler "vmovupd.*\\*movv2df_internal/3" } } */
+/* { dg-final { scan-assembler "vmovups.*\\*movv2df_internal/3" } } */
 /* { dg-final { scan-assembler "vextractf128" } } */
index b0e10091b5ce8530a93f71148c09e2183365819d..9f21a2d17d959d89508eade0669e8e46191c3c12 100644 (file)
@@ -11,4 +11,5 @@ void foo(const __m128d from, __m256d *to)
 
 /* Ensure we store ymm, not xmm.  */
 /* { dg-final { scan-assembler-not "vmovapd\[\t \]*%xmm\[0-9\]\+,\[^,\]*" } } */
-/* { dg-final { scan-assembler "vmovapd\[\t \]*%ymm\[0-9\]\+,\[^,\]*" } } */
+/* { dg-final { scan-assembler-not "vmovaps\[\t \]*%xmm\[0-9\]\+,\[^,\]*" } } */
+/* { dg-final { scan-assembler "vmovaps\[\t \]*%ymm\[0-9\]\+,\[^,\]*" } } */
index 9676dc85a8effa2153c459409e6e5463786693b7..4ca5e34d9cb27f50f4160ea25303192d0ea67520 100644 (file)
@@ -2,7 +2,8 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2 -mtune=generic" } */
 /* { dg-final { scan-assembler-not "movdqa\[\t \]*%xmm\[0-9\]\+,\[^,\]*" } } */
-/* { dg-final { scan-assembler "movdqu\[\t \]*%xmm\[0-9\]\+,\[^,\]*" } } */
+/* { dg-final { scan-assembler-not "movaps\[\t \]*%xmm\[0-9\]\+,\[^,\]*" } } */
+/* { dg-final { scan-assembler "movups\[\t \]*%xmm\[0-9\]\+,\[^,\]*" } } */
 
 void
 flt128_va (void *mem, __float128 d)