From 49dde7c6f255e137955f7c5681792b015667ce59 Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Fri, 3 Aug 2012 11:43:31 -0700 Subject: [PATCH] Fix bug in declaration of double-precision sqrt intrinsic for AVX targets. This was preventing sqrts of uniform double values from being compiled properly. Issue #344. --- builtins/target-avx-common.ll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builtins/target-avx-common.ll b/builtins/target-avx-common.ll index c7790bec..dcbe0a66 100644 --- a/builtins/target-avx-common.ll +++ b/builtins/target-avx-common.ll @@ -254,10 +254,10 @@ define i64 @__popcnt_int64(i64) nounwind readonly alwaysinline { ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; double precision sqrt -declare <2 x double> @llvm.x86.sse.sqrt.sd(<2 x double>) nounwind readnone +declare <2 x double> @llvm.x86.sse2.sqrt.sd(<2 x double>) nounwind readnone define double @__sqrt_uniform_double(double) nounwind alwaysinline { - sse_unary_scalar(ret, 2, double, @llvm.x86.sse.sqrt.sd, %0) + sse_unary_scalar(ret, 2, double, @llvm.x86.sse2.sqrt.sd, %0) ret double %ret }