diff options
author | Roland Scheidegger <[email protected]> | 2013-02-01 08:34:36 -0800 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2013-02-08 16:32:30 -0800 |
commit | 49f8825c49871ca956c7ed21b096f3835311f57e (patch) | |
tree | b4eac5cb1c21f455ca28a52743d0f242bcfa7ced | |
parent | 67906f91c9b924306d6bfec5d718b6225390205d (diff) |
gallivm: fix typo in lp_build_mul_norm
The signed case didn't do what the comment indicated. Should increase rounding
precision (at the expense of performance since the former code was effectively
a no-op).
Reviewed-by: Jose Fonseca <[email protected]>
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_arit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c index d930f09acc3..b4e9f23dcc9 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c @@ -769,7 +769,7 @@ lp_build_mul_norm(struct gallivm_state *gallivm, half = lp_build_const_int_vec(gallivm, wide_type, 1 << (n - 1)); if (wide_type.sign) { LLVMValueRef minus_half = LLVMBuildNeg(builder, half, ""); - LLVMValueRef sign = lp_build_shr_imm(&bld, half, wide_type.width - 1); + LLVMValueRef sign = lp_build_shr_imm(&bld, ab, wide_type.width - 1); half = lp_build_select(&bld, sign, minus_half, half); } ab = LLVMBuildAdd(builder, ab, half, ""); |