[gcc(refs/users/acsawdey/heads/mode-opaque)] Re-enable vector pair memcpy/memmove expansion

Aaron Sawdey acsawdey@gcc.gnu.org
Fri Nov 20 00:50:28 GMT 2020


https://gcc.gnu.org/g:098008da8d1d19cd27542ee01c5876d2bcdb11ec

commit 098008da8d1d19cd27542ee01c5876d2bcdb11ec
Author: Aaron Sawdey <acsawdey@linux.ibm.com>
Date:   Tue Nov 17 12:55:01 2020 -0500

    Re-enable vector pair memcpy/memmove expansion
    
    After the MMA opaque mode patch goes in, we can re-enable
    use of vector pair in the inline expansion of memcpy/memmove.
    
    gcc/
            * config/rs6000/rs6000.c (rs6000_option_override_internal):
            Enable vector pair memcpy/memmove expansion.

Diff:
---
 gcc/config/rs6000/rs6000.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index bd8205c87f7..d8ac2f0cd2f 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -4117,11 +4117,10 @@ rs6000_option_override_internal (bool global_init_p)
 
   if (!(rs6000_isa_flags_explicit & OPTION_MASK_BLOCK_OPS_VECTOR_PAIR))
     {
-      /* When the POImode issues of PR96791 are resolved, then we can
-	 once again enable use of vector pair for memcpy/memmove on
-	 P10 if we have TARGET_MMA.  For now we make it disabled by
-	 default for all targets.  */
-      rs6000_isa_flags &= ~OPTION_MASK_BLOCK_OPS_VECTOR_PAIR;
+      if (TARGET_MMA && TARGET_EFFICIENT_UNALIGNED_VSX)
+	rs6000_isa_flags |= OPTION_MASK_BLOCK_OPS_VECTOR_PAIR;
+      else
+	rs6000_isa_flags &= ~OPTION_MASK_BLOCK_OPS_VECTOR_PAIR;
     }
 
   /* Use long double size to select the appropriate long double.  We use


More information about the Gcc-cvs mailing list