summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOded Gabbay <oded.gabbay@gmail.com>2016-05-01 15:50:27 +0300
committerOded Gabbay <oded.gabbay@gmail.com>2016-05-02 14:24:21 +0300
commit3278313add1c0aea23af915e20e705b673095cef (patch)
tree9cc59d82d2544a36933fdd563e58058dfd4f193f
parentf01e7bc50d9621864c9924a1147d57ba9168d49f (diff)
llvmpipe: use VSX for arch rounding when possiblemesa-vsx
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_arit.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
index e48c25d074..df6bfeffdd 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
@@ -1682,7 +1682,7 @@ arch_rounding_available(const struct lp_type type)
(type.length == 1 || type.width*type.length == 128)) ||
(util_cpu_caps.has_avx && type.width*type.length == 256))
return TRUE;
- else if ((util_cpu_caps.has_altivec &&
+ else if (((util_cpu_caps.has_altivec || util_cpu_caps.has_vsx) &&
(type.width == 32 && type.length == 4)))
return TRUE;
@@ -1792,7 +1792,7 @@ lp_build_round_arch(struct lp_build_context *bld,
LLVMValueRef a,
enum lp_build_round_mode mode)
{
- if (util_cpu_caps.has_sse4_1) {
+ if (util_cpu_caps.has_sse4_1 || util_cpu_caps.has_vsx) {
LLVMBuilderRef builder = bld->gallivm->builder;
const struct lp_type type = bld->type;
const char *intrinsic_root;