Ejemplo n.º 1
0
int32x1_t
test_vdups_lane_s32 (int32x4_t a)
{
  int32x1_t res;
  force_simd (a);
  res = vdups_laneq_s32 (a, 2);
  force_simd (res);
  return res;
}
Ejemplo n.º 2
0
// CHECK-LABEL: test_vdups_laneq_s32
int32_t test_vdups_laneq_s32(int32x4_t a) {
  return vdups_laneq_s32(a, 3);
// CHECK: umov {{w[0-9]+}}, {{v[0-9]+}}.s[3]
}
// CHECK-LABEL: define i32 @test_vdups_laneq_s32(<4 x i32> %a) #1 {
// CHECK:   [[TMP0:%.*]] = bitcast <4 x i32> %a to <16 x i8>
// CHECK:   [[TMP1:%.*]] = bitcast <16 x i8> [[TMP0]] to <4 x i32>
// CHECK:   [[VGETQ_LANE:%.*]] = extractelement <4 x i32> [[TMP1]], i32 3
// CHECK:   ret i32 [[VGETQ_LANE]]
int32_t test_vdups_laneq_s32(int32x4_t a) {
  return vdups_laneq_s32(a, 3);
}