gallivm: Don't call LLVMBuildFNeg on llvm-2.6.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 9 Aug 2010 16:26:18 +0000 (17:26 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 9 Aug 2010 16:31:18 +0000 (17:31 +0100)
It didn't exist yet.

src/gallium/auxiliary/gallivm/lp_bld_arit.c
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c

index d2dde41e9fbb9a18ff252c0a042ab222e09c269e..cecc1858bc773081a58268cf68fdbc97f96b158a 100644 (file)
@@ -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;
index becbd3bece459afa1fffcf02b0c42669b22e23b7..0aa64affacc0346c400ed668ab9bb6256f9fe3fb 100644 (file)
@@ -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: