Re-enable vector pair memcpy/memmove expansion
authorAaron Sawdey <acsawdey@linux.ibm.com>
Tue, 17 Nov 2020 17:55:01 +0000 (12:55 -0500)
committerAaron Sawdey <acsawdey@linux.ibm.com>
Sat, 21 Nov 2020 13:43:25 +0000 (07:43 -0600)
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.

gcc/config/rs6000/rs6000.c

index bd8205c87f7ef63b8b6ababe67c90686bbe509e6..d8ac2f0cd2f255c436b09e2d12c20b9995fec524 100644 (file)
@@ -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