Commit 837f9ebb76485768f561c59e641eb8fc5787b190

Philip Kaufmann 2012-02-23T15:49:50

revert to former method and do not use any()-function in check for valid nonces, as this is slower

diff --git a/diakgcn120222.cl b/diakgcn120222.cl
index 71f6345..fa98dbd 100644
--- a/diakgcn120222.cl
+++ b/diakgcn120222.cl
@@ -560,50 +560,56 @@ __kernel
 #define NFLAG (0x7F)
 
 #ifdef VECTORS8
-	bool result = any(V[7] == 0x136032edU);
+	V[7] ^= 0x136032edU;
 
-	if (result) {
+	bool result = V[7].s0 & V[7].s1 & V[7].s2 & V[7].s3 & V[7].s4 & V[7].s5 & V[7].s6 & V[7].s7;
+
+	if (!result) {
 		output[FOUND] = FOUND;
-		if (V[7].s0 == 0x136032edU)
+		if (!V[7].s0)
 			output[NFLAG & nonce.s0] = nonce.s0;
-		if (V[7].s1 == 0x136032edU)
+		if (!V[7].s1)
 			output[NFLAG & nonce.s1] = nonce.s1;
-		if (V[7].s2 == 0x136032edU)
+		if (!V[7].s2)
 			output[NFLAG & nonce.s2] = nonce.s2;
-		if (V[7].s3 == 0x136032edU)
+		if (!V[7].s3)
 			output[NFLAG & nonce.s3] = nonce.s3;
-		if (V[7].s4 == 0x136032edU)
+		if (!V[7].s4)
 			output[NFLAG & nonce.s4] = nonce.s4;
-		if (V[7].s5 == 0x136032edU)
+		if (!V[7].s5)
 			output[NFLAG & nonce.s5] = nonce.s5;
-		if (V[7].s6 == 0x136032edU)
+		if (!V[7].s6)
 			output[NFLAG & nonce.s6] = nonce.s6;
-		if (V[7].s7 == 0x136032edU)
+		if (!V[7].s7)
 			output[NFLAG & nonce.s7] = nonce.s7;
 	}
 #elif defined VECTORS4
-	bool result = any(V[7] == 0x136032edU);
+	V[7] ^= 0x136032edU;
+
+	bool result = V[7].x & V[7].y & V[7].z & V[7].w;
 
-	if (result) {
+	if (!result) {
 		output[FOUND] = FOUND;
-		if (V[7].x == 0x136032edU)
+		if (!V[7].x)
 			output[NFLAG & nonce.x] = nonce.x;
-		if (V[7].y == 0x136032edU)
+		if (!V[7].y)
 			output[NFLAG & nonce.y] = nonce.y;
-		if (V[7].z == 0x136032edU)
+		if (!V[7].z)
 			output[NFLAG & nonce.z] = nonce.z;
-		if (V[7].w == 0x136032edU)
+		if (!V[7].w)
 			output[NFLAG & nonce.w] = nonce.w;
 	}
 #elif defined VECTORS2
-	bool result = any(V[7]  == 0x136032edU);
+	V[7] ^= 0x136032edU;
+
+	bool result = V[7].x & V[7].y;
 
-	if (result) {
+	if (!result) {
 		output[FOUND] = FOUND;
-		if (V[7].x == 0x136032edU)
-			output[NFLAG & nonce.x] = nonce.x;
-		if (V[7].y == 0x136032edU)
-			output[NFLAG & nonce.y] = nonce.y;
+		if (!V[7].x)
+			output[FOUND] = output[NFLAG & nonce.x] = nonce.x;
+		if (!V[7].y)
+			output[FOUND] = output[NFLAG & nonce.y] = nonce.y;
 	}
 #else
 	if (V[7] == 0x136032edU)