void test_vmull_lanes16 (void) { int32x4_t out_int32x4_t; int16x4_t arg0_int16x4_t; int16x4_t arg1_int16x4_t; out_int32x4_t = vmull_lane_s16 (arg0_int16x4_t, arg1_int16x4_t, 1); }
static INLINE int32x4_t MULTIPLY_BY_Q0(int16x4_t dsrc0, int16x4_t dsrc1, int16x4_t dsrc2, int16x4_t dsrc3, int16x4_t dsrc4, int16x4_t dsrc5, int16x4_t dsrc6, int16x4_t dsrc7, int16x8_t q0s16) { int32x4_t qdst; int16x4_t d0s16, d1s16; d0s16 = vget_low_s16(q0s16); d1s16 = vget_high_s16(q0s16); qdst = vmull_lane_s16(dsrc0, d0s16, 0); qdst = vmlal_lane_s16(qdst, dsrc1, d0s16, 1); qdst = vmlal_lane_s16(qdst, dsrc2, d0s16, 2); qdst = vmlal_lane_s16(qdst, dsrc3, d0s16, 3); qdst = vmlal_lane_s16(qdst, dsrc4, d1s16, 0); qdst = vmlal_lane_s16(qdst, dsrc5, d1s16, 1); qdst = vmlal_lane_s16(qdst, dsrc6, d1s16, 2); qdst = vmlal_lane_s16(qdst, dsrc7, d1s16, 3); return qdst; }
int32x4_t test_vmull_lane_s16(int16x4_t a, int16x4_t v) { // CHECK: test_vmull_lane_s16 return vmull_lane_s16(a, v, 1); // CHECK: smull {{v[0-9]+}}.4s, {{v[0-9]+}}.4h, {{v[0-9]+}}.h[1] }