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

Reply via email to