1146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren// RUN: %clang_cc1 %s -O3 -triple=x86_64-apple-darwin -target-feature +f16c -emit-llvm -o - | FileCheck %s
2146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren
3146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren// Don't include mm_malloc.h, it's system specific.
4146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren#define __MM_MALLOC_H
5146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren
6146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren#include <x86intrin.h>
7146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren
8146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren__m128 test_mm_cvtph_ps(__m128i a) {
9146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren  // CHECK: @llvm.x86.vcvtph2ps.128
10146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren  return _mm_cvtph_ps(a);
11146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren}
12146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren
13146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren__m256 test_mm256_cvtph_ps(__m128i a) {
14146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren  // CHECK: @llvm.x86.vcvtph2ps.256
15146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren  return _mm256_cvtph_ps(a);
16146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren}
17146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren
18146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren__m128i test_mm_cvtps_ph(__m128 a) {
19146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren  // CHECK: @llvm.x86.vcvtps2ph.128
20146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren  return _mm_cvtps_ph(a, 0);
21146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren}
22146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren
23146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren__m128i test_mm256_cvtps_ph(__m256 a) {
24146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren  // CHECK: @llvm.x86.vcvtps2ph.256
25146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren  return _mm256_cvtps_ph(a, 0);
26146e5a4a787a2ebfe89a6b74e7c22d850bf1c858Manman Ren}
27