Module: Mesa Branch: master Commit: 84f367e69a876e473b4293483c5842b47d27d493 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=84f367e69a876e473b4293483c5842b47d27d493
Author: José Fonseca <[email protected]> Date: Tue Jul 2 06:53:25 2013 +0100 gallivm: Simplify intrinsic name construction. Just noticed this could be slightly shortened when fixing MSVC build. Trivial. --- .../auxiliary/gallivm/lp_bld_arit_overflow.c | 33 ++++++-------------- 1 files changed, 10 insertions(+), 23 deletions(-) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit_overflow.c b/src/gallium/auxiliary/gallivm/lp_bld_arit_overflow.c index 124381d..91247fd 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_arit_overflow.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_arit_overflow.c @@ -66,10 +66,8 @@ build_binary_int_overflow(struct gallivm_state *gallivm, char intr_str[256]; LLVMTypeRef type_ref; LLVMTypeKind type_kind; - LLVMTypeRef oelems[2] = { - LLVMInt32TypeInContext(gallivm->context), - LLVMInt1TypeInContext(gallivm->context) - }; + unsigned type_width; + LLVMTypeRef oelems[2]; LLVMValueRef oresult; LLVMTypeRef otype; @@ -78,26 +76,15 @@ build_binary_int_overflow(struct gallivm_state *gallivm, type_kind = LLVMGetTypeKind(type_ref); debug_assert(type_kind == LLVMIntegerTypeKind); + type_width = LLVMGetIntTypeWidth(type_ref); - switch (LLVMGetIntTypeWidth(type_ref)) { - case 16: - util_snprintf(intr_str, sizeof intr_str, "%s.i16", - intr_prefix); - oelems[0] = LLVMInt16TypeInContext(gallivm->context); - break; - case 32: - util_snprintf(intr_str, sizeof intr_str, "%s.i32", - intr_prefix); - oelems[0] = LLVMInt32TypeInContext(gallivm->context); - break; - case 64: - util_snprintf(intr_str, sizeof intr_str, "%s.i64", - intr_prefix); - oelems[0] = LLVMInt64TypeInContext(gallivm->context); - break; - default: - debug_assert(!"Unsupported integer width in overflow computation!"); - } + debug_assert(type_width == 16 || type_width == 32 || type_width == 64); + + util_snprintf(intr_str, sizeof intr_str, "%s.i%u", + intr_prefix, type_width); + + oelems[0] = type_ref; + oelems[1] = LLVMInt1TypeInContext(gallivm->context); otype = LLVMStructTypeInContext(gallivm->context, oelems, 2, FALSE); oresult = lp_build_intrinsic_binary(builder, intr_str, _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
