__m128 test_mm_i64gather_ps(float const *b, __m128i c) {
  // CHECK-LABEL: test_mm_i64gather_ps
  // CHECK:         [[CMP:%.*]] = fcmp oeq <4 x float>
  // CHECK-NEXT:    [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
  // CHECK-NEXT:    [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
  // CHECK: call <4 x float> @llvm.x86.avx2.gather.q.ps(<4 x float> undef, i8* %{{.*}}, <2 x i64> %{{.*}}, <4 x float> %{{.*}}, i8 2)
  return _mm_i64gather_ps(b, c, 2);
}
Exemple #2
0
__m128 test_mm_i64gather_ps(float const *b, __m128i c) {
  // CHECK: @llvm.x86.avx2.gather.q.ps
  return _mm_i64gather_ps(b, c, 2);
}