1 ; RUN: llc < %s -march=x86 -mattr=+avx,+f16c | FileCheck %s 2 3 define <4 x float> @test_x86_vcvtph2ps_128(<8 x i16> %a0) { 4 ; CHECK: vcvtph2ps 5 %res = call <4 x float> @llvm.x86.vcvtph2ps.128(<8 x i16> %a0) ; <<4 x float>> [#uses=1] 6 ret <4 x float> %res 7 } 8 declare <4 x float> @llvm.x86.vcvtph2ps.128(<8 x i16>) nounwind readonly 9 10 11 define <8 x float> @test_x86_vcvtph2ps_256(<8 x i16> %a0) { 12 ; CHECK: vcvtph2ps 13 %res = call <8 x float> @llvm.x86.vcvtph2ps.256(<8 x i16> %a0) ; <<8 x float>> [#uses=1] 14 ret <8 x float> %res 15 } 16 declare <8 x float> @llvm.x86.vcvtph2ps.256(<8 x i16>) nounwind readonly 17 18 19 define <8 x i16> @test_x86_vcvtps2ph_128(<4 x float> %a0) { 20 ; CHECK: vcvtps2ph 21 %res = call <8 x i16> @llvm.x86.vcvtps2ph.128(<4 x float> %a0, i32 0) ; <<8 x i16>> [#uses=1] 22 ret <8 x i16> %res 23 } 24 declare <8 x i16> @llvm.x86.vcvtps2ph.128(<4 x float>, i32) nounwind readonly 25 26 27 define <8 x i16> @test_x86_vcvtps2ph_256(<8 x float> %a0) { 28 ; CHECK: vcvtps2ph 29 %res = call <8 x i16> @llvm.x86.vcvtps2ph.256(<8 x float> %a0, i32 0) ; <<8 x i16>> [#uses=1] 30 ret <8 x i16> %res 31 } 32 declare <8 x i16> @llvm.x86.vcvtps2ph.256(<8 x float>, i32) nounwind readonly 33