Add horizontal add (hadd) vector intrinsic via NEON. 04/14604/5
authorSirshak Das <sirshak.das@arm.com>
Fri, 3 Aug 2018 16:24:51 +0000 (11:24 -0500)
committerDamjan Marion <dmarion@me.com>
Tue, 11 Sep 2018 08:38:52 +0000 (08:38 +0000)
Having the NEON equivalent of u32x4_hadd for CLIB_HAVE_VEC128

Change-Id: I210f96f7ecb9b80b4753311a68e5e09ccda7e95b
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Brian Brooks <brian.brooks@arm.com>
Reviewed-by: Yi He <yi.he@arm.com>
Verified-by: Lijian Zhang <lijian.zhang@arm.com>
src/vppinfra/vector_neon.h

index 451c531..adea39a 100644 (file)
@@ -134,6 +134,12 @@ u8x16_shuffle (u8x16 v, u8x16 m)
   return (u8x16) vqtbl1q_u8 (v, m);
 }
 
+static_always_inline u32x4
+u32x4_hadd (u32x4 v1, u32x4 v2)
+{
+  return (u32x4) vpaddq_u32 (v1, v2);
+}
+
 #define CLIB_HAVE_VEC128_UNALIGNED_LOAD_STORE
 #define CLIB_VEC128_SPLAT_DEFINED
 #endif /* included_vector_neon_h */