2 /* { dg-options "-O2 -mavx512f -mvaes" } */
3 /* { dg-require-effective-target avx512f } */
4 /* { dg-require-effective-target avx512vaes } */
9 #include "avx512f-helper.h"
11 #define SIZE (AVX512F_LEN / 32)
13 #include "avx512f-mask-type.h"
16 CALC (unsigned int *r
)
18 for (int i
= 0; i
< SIZE
; i
+=4)
22 r
[i
+ 2] = 0xd3204422;
31 UNION_TYPE (AVX512F_LEN
, i_ud
) res1
, src1
, src2
;
32 MASK_TYPE mask
= MASK_VALUE
;
33 unsigned int res_ref
[SIZE
];
35 for (int i
= 0; i
< SIZE
; i
+=4)
37 src1
.a
[i
] = 0x5d53475d;
38 src1
.a
[i
+ 1] = 0x63746f72;
39 src1
.a
[i
+ 2] = 0x73745665;
40 src1
.a
[i
+ 3] = 0x7b5b5465;
41 src2
.a
[i
] = 0x726f6e5d;
42 src2
.a
[i
+ 1] = 0x5b477565;
43 src2
.a
[i
+ 2] = 0x68617929;
44 src2
.a
[i
+ 3] = 0x48692853;
48 res1
.x
= INTRINSIC (_aesdec_epi128
) (src2
.x
, src1
.x
);
50 if (UNION_CHECK (AVX512F_LEN
, i_ud
) (res1
, res_ref
))