1 /* { dg-do compile { target lp64 } } */ 2 /* { dg-options "-O2 -mincoming-stack-boundary=3" } */ 3 4 typedef struct { 5 unsigned int buf[4]; 6 unsigned char in[64]; 7 } MD4_CTX; 8 9 static void MD4Transform(unsigned int buf[4],const unsigned int in[16])10MD4Transform (unsigned int buf[4], const unsigned int in[16]) 11 { 12 unsigned int a, b, c, d; 13 (b) += ((((c)) & ((d))) | ((~(c)) & ((a)))) + (in[7]); 14 (a) += ((((b)) & ((c))) | ((~(b)) & ((d)))) + (in[8]); 15 (d) += ((((a)) & ((b))) | ((~(a)) & ((c)))) + (in[9]); 16 buf[3] += d; 17 } 18 19 void __attribute__((ms_abi)) MD4Update(MD4_CTX * ctx,const unsigned char * buf)20MD4Update (MD4_CTX *ctx, const unsigned char *buf) 21 { 22 MD4Transform( ctx->buf, (unsigned int *)ctx->in); 23 MD4Transform( ctx->buf, (unsigned int *)ctx->in); 24 } 25