Skip to content

Commit f0b9794

Browse files
committed
Revert back AES optimization.
1 parent 8ad7fb7 commit f0b9794

File tree

1 file changed

+7
-20
lines changed

1 file changed

+7
-20
lines changed

Diff for: src/amd/opencl/wolf-aes.cl

+7-20
Original file line numberDiff line numberDiff line change
@@ -89,27 +89,14 @@ inline uint4 AES_Round_bittube2(const __local uint *AES0, const __local uint *AE
8989

9090
uint4 AES_Round(const __local uint *AES0, const __local uint *AES1, const __local uint *AES2, const __local uint *AES3, const uint4 X, uint4 key)
9191
{
92-
key.s0 ^= AES0[BYTE(X.s0, 0)];
93-
key.s1 ^= AES0[BYTE(X.s1, 0)];
94-
key.s2 ^= AES0[BYTE(X.s2, 0)];
95-
key.s3 ^= AES0[BYTE(X.s3, 0)];
92+
uint4 Y;
93+
Y.s0 = AES0[BYTE(X.s0, 0)] ^ AES1[BYTE(X.s1, 1)] ^ AES2[BYTE(X.s2, 2)] ^ AES3[BYTE(X.s3, 3)];
94+
Y.s1 = AES0[BYTE(X.s1, 0)] ^ AES1[BYTE(X.s2, 1)] ^ AES2[BYTE(X.s3, 2)] ^ AES3[BYTE(X.s0, 3)];
95+
Y.s2 = AES0[BYTE(X.s2, 0)] ^ AES1[BYTE(X.s3, 1)] ^ AES2[BYTE(X.s0, 2)] ^ AES3[BYTE(X.s1, 3)];
96+
Y.s3 = AES0[BYTE(X.s3, 0)] ^ AES1[BYTE(X.s0, 1)] ^ AES2[BYTE(X.s1, 2)] ^ AES3[BYTE(X.s2, 3)];
97+
Y ^= key;
9698

97-
key.s0 ^= AES2[BYTE(X.s2, 2)];
98-
key.s1 ^= AES2[BYTE(X.s3, 2)];
99-
key.s2 ^= AES2[BYTE(X.s0, 2)];
100-
key.s3 ^= AES2[BYTE(X.s1, 2)];
101-
102-
key.s0 ^= AES1[BYTE(X.s1, 1)];
103-
key.s1 ^= AES1[BYTE(X.s2, 1)];
104-
key.s2 ^= AES1[BYTE(X.s3, 1)];
105-
key.s3 ^= AES1[BYTE(X.s0, 1)];
106-
107-
key.s0 ^= AES3[BYTE(X.s3, 3)];
108-
key.s1 ^= AES3[BYTE(X.s0, 3)];
109-
key.s2 ^= AES3[BYTE(X.s1, 3)];
110-
key.s3 ^= AES3[BYTE(X.s2, 3)];
111-
112-
return key;
99+
return(Y);
113100
}
114101

115102
#endif

0 commit comments

Comments
 (0)