From 9f962469cabc7fdc2ee830125a5cb4e61e1632e4 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 26 Jun 2019 21:12:27 +0200 Subject: [PATCH] re PR target/89021 (Implement mmintrin.h in SSE) PR target/89021 * config/i386/i386.c (ix86_autovectorize_vector_sizes): Autovectorize 8-byte vectors for TARGET_MMX_WITH_SSE. testsuite/ChangeLog: PR target/89021 * lib/target-supports.exp (available_vector_sizes) <[istarget i?86-*-*] || [istarget x86_64-*-*]>: Add 64-bit vectors for !ia32. From-SVN: r272711 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.c | 5 +++++ gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/lib/target-supports.exp | 11 ++++++++--- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cdfc9f972d4..a27a189670b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-06-26 Uroš Bizjak + + PR target/89021 + * config/i386/i386.c (ix86_autovectorize_vector_sizes): + Autovectorize 8-byte vectors for TARGET_MMX_WITH_SSE. + 2019-06-26 Iain Sandoe * config/rs6000/rs6000-internal.h (branch_island): New typedef. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 1ca1712183d..7d6280b6da1 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -21401,6 +21401,11 @@ ix86_autovectorize_vector_sizes (vector_sizes *sizes, bool all) sizes->safe_push (16); sizes->safe_push (32); } + else if (TARGET_MMX_WITH_SSE) + sizes->safe_push (16); + + if (TARGET_MMX_WITH_SSE) + sizes->safe_push (8); } /* Implemenation of targetm.vectorize.get_mask_mode. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index eb9f6cc9921..e9fade55b67 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2019-06-26 Uroš Bizjak + + PR target/89021 + * lib/target-supports.exp (available_vector_sizes) + <[istarget i?86-*-*] || [istarget x86_64-*-*]>: Add + 64-bit vectors for !ia32. + 2019-06-26 Jeff Law * gcc.c-torture/execute/builtins/builtins.exp: Add -fno-tree-dse diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 1d4aaa2a87e..285c32f8ceb 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -6603,9 +6603,14 @@ proc available_vector_sizes { } { } elseif { [istarget arm*-*-*] && [check_effective_target_arm_neon_ok] } { lappend result 128 64 - } elseif { (([istarget i?86-*-*] || [istarget x86_64-*-*]) - && ([check_avx_available] && ![check_prefer_avx128])) } { - lappend result 256 128 + } elseif { [istarget i?86-*-*] || [istarget x86_64-*-*] } { + if { [check_avx_available] && ![check_prefer_avx128] } { + lappend result 256 + } + lappend result 128 + if { ![is-effective-target ia32] } { + lappend result 64 + } } elseif { [istarget sparc*-*-*] } { lappend result 64 } else { -- 2.30.2