Index: llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp =================================================================== --- llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp +++ llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp @@ -1461,6 +1461,14 @@ {"sinf", "__svml_sinf8", 8}, {"sinf", "__svml_sinf16", 16}, + {"llvm.sin.f64", "__svml_sin2", 2}, + {"llvm.sin.f64", "__svml_sin4", 4}, + {"llvm.sin.f64", "__svml_sin8", 8}, + + {"llvm.sin.f32", "__svml_sinf4", 4}, + {"llvm.sin.f32", "__svml_sinf8", 8}, + {"llvm.sin.f32", "__svml_sinf16", 16}, + {"cos", "__svml_cos2", 2}, {"cos", "__svml_cos4", 4}, {"cos", "__svml_cos8", 8}, @@ -1469,6 +1477,14 @@ {"cosf", "__svml_cosf8", 8}, {"cosf", "__svml_cosf16", 16}, + {"llvm.cos.f64", "__svml_cos2", 2}, + {"llvm.cos.f64", "__svml_cos4", 4}, + {"llvm.cos.f64", "__svml_cos8", 8}, + + {"llvm.cos.f32", "__svml_cosf4", 4}, + {"llvm.cos.f32", "__svml_cosf8", 8}, + {"llvm.cos.f32", "__svml_cosf16", 16}, + {"pow", "__svml_pow2", 2}, {"pow", "__svml_pow4", 4}, {"pow", "__svml_pow8", 8}, Index: llvm/trunk/test/Transforms/LoopVectorize/X86/svml-calls.ll =================================================================== --- llvm/trunk/test/Transforms/LoopVectorize/X86/svml-calls.ll +++ llvm/trunk/test/Transforms/LoopVectorize/X86/svml-calls.ll @@ -77,7 +77,7 @@ define void @sin_f64_intrinsic(double* nocapture %varray) { ; CHECK-LABEL: @sin_f64_intrinsic( -; CHECK: [[TMP5:%.*]] = call <4 x double> @llvm.sin.v4f64(<4 x double> [[TMP4:%.*]]) +; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_sin4(<4 x double> [[TMP4:%.*]]) ; CHECK: ret void ; entry: @@ -100,7 +100,7 @@ define void @sin_f32_intrinsic(float* nocapture %varray) { ; CHECK-LABEL: @sin_f32_intrinsic( -; CHECK: [[TMP5:%.*]] = call <4 x float> @llvm.sin.v4f32(<4 x float> [[TMP4:%.*]]) +; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_sinf4(<4 x float> [[TMP4:%.*]]) ; CHECK: ret void ; entry: @@ -169,7 +169,7 @@ define void @cos_f64_intrinsic(double* nocapture %varray) { ; CHECK-LABEL: @cos_f64_intrinsic( -; CHECK: [[TMP5:%.*]] = call <4 x double> @llvm.cos.v4f64(<4 x double> [[TMP4:%.*]]) +; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_cos4(<4 x double> [[TMP4:%.*]]) ; CHECK: ret void ; entry: @@ -192,7 +192,7 @@ define void @cos_f32_intrinsic(float* nocapture %varray) { ; CHECK-LABEL: @cos_f32_intrinsic( -; CHECK: [[TMP5:%.*]] = call <4 x float> @llvm.cos.v4f32(<4 x float> [[TMP4:%.*]]) +; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_cosf4(<4 x float> [[TMP4:%.*]]) ; CHECK: ret void ; entry: