2 /* { dg-options "-O2 -msha" } */
3 /* { dg-require-effective-target sha } */
6 #include "m128-check.h"
13 return __rord (w
, 17) ^ __rord (w
, 19) ^ (w
>> 10);
17 compute_sha256msg2 (int *src1
, int *src2
, int *res
)
19 int w14
, w15
, w16
, w17
, w18
, w19
;
23 w16
= src1
[0] + s1 (w14
);
24 w17
= src1
[1] + s1 (w15
);
25 w18
= src1
[2] + s1 (w16
);
26 w19
= src1
[3] + s1 (w17
);
37 union128i_d s1
, s2
, res
;
40 s1
.x
= _mm_set_epi32 (111, 222, 333, 444);
41 s2
.x
= _mm_set_epi32 (555, 666, 0, 0);
43 res
.x
= _mm_sha256msg2_epu32 (s1
.x
, s2
.x
);
45 compute_sha256msg2 (s1
.a
, s2
.a
, res_ref
);
47 if (check_union128i_d (res
, res_ref
))