From: Dave Airlie Date: Fri, 10 Jun 2016 00:55:59 +0000 (+1000) Subject: gallivm: make non-float return code bitcast consistent. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e5c57824ec4021a859f5cbd4feba148d068713ee;p=mesa.git gallivm: make non-float return code bitcast consistent. This just uses the same form across the fetches. Reviewed-by: Roland Scheidegger Reviewed-by: Nicolai Hähnle Signed-off-by: Dave Airlie --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c index 8759392ac15..e3a2c4b215d 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c @@ -1403,12 +1403,9 @@ emit_fetch_immediate( res = emit_fetch_64bit(bld_base, stype, res, bld->immediates[reg->Register.Index][swizzle + 1]); } - if (stype == TGSI_TYPE_UNSIGNED) { - res = LLVMBuildBitCast(builder, res, bld_base->uint_bld.vec_type, ""); - } else if (stype == TGSI_TYPE_SIGNED) { - res = LLVMBuildBitCast(builder, res, bld_base->int_bld.vec_type, ""); - } else if (stype == TGSI_TYPE_DOUBLE) { - res = LLVMBuildBitCast(builder, res, bld_base->dbl_bld.vec_type, ""); + if (stype == TGSI_TYPE_SIGNED || stype == TGSI_TYPE_UNSIGNED || stype == TGSI_TYPE_DOUBLE) { + struct lp_build_context *bld_fetch = stype_to_fetch(bld_base, stype); + res = LLVMBuildBitCast(builder, res, bld_fetch->vec_type, ""); } return res; } @@ -1483,12 +1480,9 @@ emit_fetch_input( assert(res); - if (stype == TGSI_TYPE_UNSIGNED) { - res = LLVMBuildBitCast(builder, res, bld_base->uint_bld.vec_type, ""); - } else if (stype == TGSI_TYPE_SIGNED) { - res = LLVMBuildBitCast(builder, res, bld_base->int_bld.vec_type, ""); - } else if (stype == TGSI_TYPE_DOUBLE) { - res = LLVMBuildBitCast(builder, res, bld_base->dbl_bld.vec_type, ""); + if (stype == TGSI_TYPE_SIGNED || stype == TGSI_TYPE_UNSIGNED || stype == TGSI_TYPE_DOUBLE) { + struct lp_build_context *bld_fetch = stype_to_fetch(bld_base, stype); + res = LLVMBuildBitCast(builder, res, bld_fetch->vec_type, ""); } return res;