ppc: Use the vec_xst_len for partial stores
authorLuca Barbato <lu_zero@gentoo.org>
Thu, 23 Aug 2018 08:30:37 +0000 (08:30 +0000)
committerHenrik Gramner <henrik@gramner.com>
Thu, 31 Jan 2019 19:01:06 +0000 (20:01 +0100)
Seems to give about a 1-2% overall speedup on --slow.

common/ppc/ppccommon.h

index 51936e0..8df6938 100644 (file)
@@ -148,8 +148,12 @@ typedef union {
 /***********************************************************************
  * VEC_STORE##n:  stores n bytes from vector v to address p
  **********************************************************************/
+#ifndef __POWER9_VECTOR__
 #define VEC_STORE8( v, p ) \
     vec_vsx_st( vec_xxpermdi( v, vec_vsx_ld( 0, p ), 1 ), 0, p )
+#else
+#define VEC_STORE8( v, p ) vec_xst_len( v, p, 8 )
+#endif
 
 /***********************************************************************
  * VEC_TRANSPOSE_8