gallivm: Fix 8bit comparisons.
authorJosé Fonseca <jfonseca@vmware.com>
Tue, 15 Jun 2010 14:34:16 +0000 (15:34 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 6 Jul 2010 10:53:15 +0000 (11:53 +0100)
src/gallium/auxiliary/gallivm/lp_bld_logic.c

index d13fa1a5d043b4f5cf9c9f8e23a477647fe534bd..7f41764cc4a7a97856178d1a85e698f2de6f8bf6 100644 (file)
@@ -187,12 +187,10 @@ lp_build_compare(LLVMBuilderRef builder,
             return lp_build_undef(type);
          }
 
-         /* There are no signed byte and unsigned word/dword comparison
-          * instructions. So flip the sign bit so that the results match.
+         /* There are no unsigned comparison instructions. So flip the sign bit
+          * so that the results match.
           */
-         if(table[func].gt &&
-            ((type.width == 8 && type.sign) ||
-             (type.width != 8 && !type.sign))) {
+         if (table[func].gt && !type.sign) {
             LLVMValueRef msb = lp_build_const_int_vec(type, (unsigned long long)1 << (type.width - 1));
             a = LLVMBuildXor(builder, a, msb, "");
             b = LLVMBuildXor(builder, b, msb, "");