2 /* { dg-options "-O2 -msha" } */
3 /* { dg-require-effective-target sha } */
6 #include "m128-check.h"
11 compute_sha1msg2 (int *s1
, int *s2
, int *r
)
13 int w13
, w14
, w15
, w16
, w17
, w18
, w19
;
18 w16
= __rold (s1
[3] ^ w13
, 1);
19 w17
= __rold (s1
[2] ^ w14
, 1);
20 w18
= __rold (s1
[1] ^ w15
, 1);
21 w19
= __rold (s1
[0] ^ w16
, 1);
32 union128i_d s1
, s2
, res
;
35 s1
.x
= _mm_set_epi32 (111, 222, 333, 444);
36 s2
.x
= _mm_set_epi32 (555, 666, 777, 0);
38 res
.x
= _mm_sha1msg2_epu32 (s1
.x
, s2
.x
);
40 compute_sha1msg2 (s1
.a
, s2
.a
, res_ref
);
42 if (check_union128i_d (res
, res_ref
))