2 /* { dg-options "-O2 -msha" } */
3 /* { dg-require-effective-target sha } */
6 #include "m128-check.h"
13 return __rord (w
, 7) ^ __rord (w
, 18) ^ (w
>> 3);
17 compute_sha256msg1 (int *src1
, int *src2
, int *res
)
19 int w0
, w1
, w2
, w3
, w4
;
27 res
[0] = w0
+ s0 (w1
);
28 res
[1] = w1
+ s0 (w2
);
29 res
[2] = w2
+ s0 (w3
);
30 res
[3] = w3
+ s0 (w4
);
36 union128i_d s1
, s2
, res
;
39 s1
.x
= _mm_set_epi32 (111, 222, 333, 444);
40 s2
.x
= _mm_set_epi32 (0, 0, 0, 555);
42 res
.x
= _mm_sha256msg1_epu32 (s1
.x
, s2
.x
);
44 compute_sha256msg1 (s1
.a
, s2
.a
, res_ref
);
46 if (check_union128i_d (res
, res_ref
))