MCPcopy Create free account
hub / github.com/LUX-Core/lux / AS2

Function AS2

src/cryptopp/sha.cpp:1185–1406  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1183
1184 AS2( mov eax, esp)
1185 AS2( and esp, 0xfffffff0)
1186 AS2( sub esp, 27*16) // 17*16 for expanded data, 20*8 for state
1187 AS_PUSH_IF86( ax)
1188 AS2( xor eax, eax)
1189
1190#if CRYPTOPP_BOOL_X32
1191 AS2( lea edi, [esp+8+8*8]) // start at middle of state buffer. will decrement pointer each round to avoid copying
1192 AS2( lea esi, [esp+8+20*8+8]) // 16-byte alignment, then add 8
1193#else
1194 AS2( lea edi, [esp+4+8*8]) // start at middle of state buffer. will decrement pointer each round to avoid copying
1195 AS2( lea esi, [esp+4+20*8+8]) // 16-byte alignment, then add 8
1196#endif
1197
1198 AS2( movdqa xmm0, [ecx+0*16])
1199 AS2( movdq2q mm4, xmm0)
1200 AS2( movdqa [edi+0*16], xmm0)
1201 AS2( movdqa xmm0, [ecx+1*16])
1202 AS2( movdqa [edi+1*16], xmm0)
1203 AS2( movdqa xmm0, [ecx+2*16])
1204 AS2( movdq2q mm5, xmm0)
1205 AS2( movdqa [edi+2*16], xmm0)
1206 AS2( movdqa xmm0, [ecx+3*16])
1207 AS2( movdqa [edi+3*16], xmm0)
1208 ASJ( jmp, 0, f)
1209
1210#define SSE2_S0_S1(r, a, b, c) \
1211 AS2( movq mm6, r)\
1212 AS2( psrlq r, a)\
1213 AS2( movq mm7, r)\
1214 AS2( psllq mm6, 64-c)\
1215 AS2( pxor mm7, mm6)\
1216 AS2( psrlq r, b-a)\
1217 AS2( pxor mm7, r)\
1218 AS2( psllq mm6, c-b)\
1219 AS2( pxor mm7, mm6)\
1220 AS2( psrlq r, c-b)\
1221 AS2( pxor r, mm7)\
1222 AS2( psllq mm6, b-a)\
1223 AS2( pxor r, mm6)
1224
1225#define SSE2_s0(r, a, b, c) \
1226 AS2( movdqa xmm6, r)\
1227 AS2( psrlq r, a)\
1228 AS2( movdqa xmm7, r)\
1229 AS2( psllq xmm6, 64-c)\
1230 AS2( pxor xmm7, xmm6)\
1231 AS2( psrlq r, b-a)\
1232 AS2( pxor xmm7, r)\
1233 AS2( psrlq r, c-b)\
1234 AS2( pxor r, xmm7)\
1235 AS2( psllq xmm6, c-a)\
1236 AS2( pxor r, xmm6)
1237
1238#define SSE2_s1(r, a, b, c) \
1239 AS2( movdqa xmm6, r)\
1240 AS2( psrlq r, a)\
1241 AS2( movdqa xmm7, r)\
1242 AS2( psllq xmm6, 64-c)\

Callers 4

rijndael.cppFile · 0.85
TransformMethod · 0.85
sha.cppFile · 0.85
sosemanuk.cppFile · 0.85

Calls 3

IsAlignedOnFunction · 0.85
HasSSE2Function · 0.85
memcpyFunction · 0.85

Tested by

no test coverage detected