inline int v_signmask(const v_uint8x16& a) { int8x8_t m0 = vcreate_s8(CV_BIG_UINT(0x0706050403020100)); uint8x16_t v0 = vshlq_u8(vshrq_n_u8(a.val, 7), vcombine_s8(m0, m0)); uint64x2_t v1 = vpaddlq_u32(vpaddlq_u16(vpaddlq_u8(v0))); return (int)vgetq_lane_u64(v1, 0) + ((int)vgetq_lane_u64(v1, 1) << 8); }
void test_vshlQu8 (void) { uint8x16_t out_uint8x16_t; uint8x16_t arg0_uint8x16_t; int8x16_t arg1_int8x16_t; out_uint8x16_t = vshlq_u8 (arg0_uint8x16_t, arg1_int8x16_t); }