Module: Mesa Branch: master Commit: bf2edc776b02a2a63862bf69a23adf666ecfcc57 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf2edc776b02a2a63862bf69a23adf666ecfcc57
Author: José Fonseca <[email protected]> Date: Wed Oct 10 19:44:49 2012 +0100 gallivm: Don't use llvm.x86.avx.max/min.ps.256 inadvertently. Could happen when CPU supports AVX, but LLVM doesn't. --- src/gallium/auxiliary/gallivm/lp_bld_arit.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c index d23ff0b..f6310a8 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c @@ -92,7 +92,7 @@ lp_build_min_simple(struct lp_build_context *bld, intrinsic = "llvm.x86.sse.min.ss"; intr_size = 128; } - else if (type.length <= 4 || !util_cpu_caps.has_avx) { + else if (type.length <= 4 || !util_cpu_caps.has_avx || lp_native_vector_width < 256) { intrinsic = "llvm.x86.sse.min.ps"; intr_size = 128; } @@ -106,7 +106,7 @@ lp_build_min_simple(struct lp_build_context *bld, intrinsic = "llvm.x86.sse2.min.sd"; intr_size = 128; } - else if (type.length == 2 || !util_cpu_caps.has_avx) { + else if (type.length == 2 || !util_cpu_caps.has_avx || lp_native_vector_width < 256) { intrinsic = "llvm.x86.sse2.min.pd"; intr_size = 128; } @@ -182,7 +182,7 @@ lp_build_max_simple(struct lp_build_context *bld, intrinsic = "llvm.x86.sse.max.ss"; intr_size = 128; } - else if (type.length <= 4 || !util_cpu_caps.has_avx) { + else if (type.length <= 4 || !util_cpu_caps.has_avx || lp_native_vector_width < 256) { intrinsic = "llvm.x86.sse.max.ps"; intr_size = 128; } @@ -196,7 +196,7 @@ lp_build_max_simple(struct lp_build_context *bld, intrinsic = "llvm.x86.sse2.max.sd"; intr_size = 128; } - else if (type.length == 2 || !util_cpu_caps.has_avx) { + else if (type.length == 2 || !util_cpu_caps.has_avx || lp_native_vector_width < 256) { intrinsic = "llvm.x86.sse2.max.pd"; intr_size = 128; } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
