diff options
author | José Fonseca <jfonseca@vmware.com> | 2010-08-09 17:26:18 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2010-08-09 17:31:18 +0100 |
commit | 8a3a971743a90463e65b44f1769a5301a31ce4cd (patch) | |
tree | 4ce0ffe09478b1ddaaa3697451d08532f8015d3c /src/gallium | |
parent | fc9a49b638c26801951c33a570178bbb2b67ec60 (diff) |
gallivm: Don't call LLVMBuildFNeg on llvm-2.6.
It didn't exist yet.
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_arit.c | 7 | ||||
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 6 |
2 files changed, 4 insertions, 9 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c index d2dde41e9f..cecc1858bc 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c @@ -512,10 +512,7 @@ lp_build_mul_imm(struct lp_build_context *bld, return a; if(b == -1) - if (bld->type.floating) - return LLVMBuildFNeg(bld->builder, a, ""); - else - return LLVMBuildNeg(bld->builder, a, ""); + return lp_build_negate(bld, a); if(b == 2 && bld->type.floating) return lp_build_add(bld, a, a); @@ -748,9 +745,11 @@ LLVMValueRef lp_build_negate(struct lp_build_context *bld, LLVMValueRef a) { +#if HAVE_LLVM >= 0x0207 if (bld->type.floating) a = LLVMBuildFNeg(bld->builder, a, ""); else +#endif a = LLVMBuildNeg(bld->builder, a, ""); return a; diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c index becbd3bece..0aa64affac 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c @@ -506,7 +506,6 @@ emit_fetch( const unsigned chan_index ) { const struct tgsi_full_src_register *reg = &inst->Src[src_op]; - const struct lp_type type = bld->base.type; const unsigned swizzle = tgsi_util_get_full_src_register_swizzle(reg, chan_index); LLVMValueRef res; @@ -615,10 +614,7 @@ emit_fetch( res = lp_build_abs( &bld->base, res ); /* fall through */ case TGSI_UTIL_SIGN_TOGGLE: - if (type.floating) - res = LLVMBuildFNeg( bld->base.builder, res, "" ); - else - res = LLVMBuildNeg( bld->base.builder, res, "" ); + res = lp_build_negate( &bld->base, res ); break; case TGSI_UTIL_SIGN_KEEP: |