コード例 #1
0
ファイル: vmull_lanes16.c プロジェクト: AlexMioMio/gcc
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);
}
コード例 #2
0
ファイル: aom_convolve8_neon.c プロジェクト: kevleyski/FFmpeg
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;
}
コード例 #3
0
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]
}