Commit bce47064b635fdec7372f9d557af6ec88bd85a37

Con Kolivas 2012-02-24T09:34:50

Revert use of any() in output code in poclbm kernel. Slower.

diff --git a/poclbm120222.cl b/poclbm120222.cl
index b086270..e7ba623 100644
--- a/poclbm120222.cl
+++ b/poclbm120222.cl
@@ -1256,28 +1256,32 @@ Vals[7]+=ch(Vals[0],Vals[1],Vals[2]);
 #define NFLAG (0x7F)
 
 #if defined(VECTORS4)
-	bool result = any(Vals[7] == 0x136032edU);
+	Vals[7] ^= 0x136032edU;
 
-	if (result) {
+	bool result = Vals[7].x & Vals[7].y & Vals[7].z & Vals[7].w;
+
+	if (!result) {
 		output[FOUND] = FOUND;
-		if (Vals[7].x == 0x136032edU)
-			output[NFLAG & nonce.x] =  nonce.x;
-		if (Vals[7].y == 0x136032edU)
-			output[NFLAG & nonce.y] =  nonce.y;
-		if (Vals[7].z == 0x136032edU)
-			output[NFLAG & nonce.z] =  nonce.z;
-		if (Vals[7].w == 0x136032edU)
-			output[NFLAG & nonce.w] =  nonce.w;
+		if (!Vals[7].x)
+			output[NFLAG & nonce.x] = nonce.x;
+		if (!Vals[7].y)
+			output[NFLAG & nonce.y] = nonce.y;
+		if (!Vals[7].z)
+			output[NFLAG & nonce.z] = nonce.z;
+		if (!Vals[7].w)
+			output[NFLAG & nonce.w] = nonce.w;
 	}
-#elif defined(VECTORS2)
-	bool result = any(Vals[7] == 0x136032edU);
+#elif defined VECTORS2
+	Vals[7] ^= 0x136032edU;
+
+	bool result = Vals[7].x & Vals[7].y;
 
-	if (result) {
+	if (!result) {
 		output[FOUND] = FOUND;
-		if (Vals[7].x == 0x136032edU)
-			output[NFLAG & nonce.x] =  nonce.x;
-		if (Vals[7].y == 0x136032edU)
-			output[NFLAG & nonce.y] =  nonce.y;
+		if (!Vals[7].x)
+			output[FOUND] = output[NFLAG & nonce.x] = nonce.x;
+		if (!Vals[7].y)
+			output[FOUND] = output[NFLAG & nonce.y] = nonce.y;
 	}
 #else
 	if (Vals[7] == 0x136032EDU)