Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __kernel void search( const uint block0, const uint block1, const uint block2,
- const uint state0, const uint state1, const uint state2, const uint state3,
- const uint state4, const uint state5, const uint state6, const uint state7,
- const uint B1, const uint C1, const uint D1,
- const uint F1, const uint G1, const uint H1,
- const uint target,
- const uint base,
- __global uint * output)
- {
- u nonce;
- #ifdef VECTORS
- nonce.x = base + get_global_id(0);
- nonce.y = nonce.x + 0x80000000;
- #else
- nonce = base + get_global_id(0);
- #endif
- u work[64];
- u A,B,C,D,E,F,G,H;
- u t1;
- A=state0;
- B=B1;
- C=C1;
- D=D1;
- E=state4;
- F=F1;
- G=G1;
- H=H1;
- work[0]=block0;
- work[1]=block1;
- work[2]=block2;
- work[3]=nonce;
- work[4]=0x80000000;
- work[5]=0x00000000;
- work[6]=0x00000000;
- work[7]=0x00000000;
- work[8]=0x00000000;
- work[9]=0x00000000;
- work[10]=0x00000000;
- work[11]=0x00000000;
- work[12]=0x00000000;
- work[13]=0x00000000;
- work[14]=0x00000000;
- work[15]=0x00000280;
- // first 3 rounds already done
- //sharound(A,B,C,D,E,F,G,H,work[0],0x428A2F98);
- //sharound(H,A,B,C,D,E,F,G,work[1],0x71374491);
- //sharound(G,H,A,B,C,D,E,F,work[2],0xB5C0FBCF);
- sharound(F,G,H,A,B,C,D,E,work[3],0xE9B5DBA5);
- sharound(E,F,G,H,A,B,C,D,work[4],0x3956C25B);
- sharound(D,E,F,G,H,A,B,C,work[5],0x59F111F1);
- sharound(C,D,E,F,G,H,A,B,work[6],0x923F82A4);
- sharound(B,C,D,E,F,G,H,A,work[7],0xAB1C5ED5);
- sharound(A,B,C,D,E,F,G,H,work[8],0xD807AA98);
- sharound(H,A,B,C,D,E,F,G,work[9],0x12835B01);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement