Lines Matching refs:HasAVX512

290     isPseudo = 1, Predicates = [HasAVX512], SchedRW = [WriteZero] in {
297 let Predicates = [HasAVX512] in {
309 let isPseudo = 1, Predicates = [HasAVX512], SchedRW = [WriteVecALU] in {
323 isPseudo = 1, Predicates = [HasAVX512], SchedRW = [WriteZero] in {
330 let Predicates = [HasAVX512] in {
348 isPseudo = 1, SchedRW = [WriteZero], Predicates = [HasAVX512] in {
481 vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>;
483 vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>;
486 vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>;
488 vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>;
501 vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>;
503 vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>;
505 vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>;
507 vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>;
510 vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>;
512 vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>;
514 vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>;
516 vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>;
599 INSERT_get_vinsert128_imm, [HasAVX512]>;
606 INSERT_get_vinsert128_imm, [HasAVX512]>;
609 INSERT_get_vinsert128_imm, [HasAVX512]>;
612 INSERT_get_vinsert128_imm, [HasAVX512]>;
628 INSERT_get_vinsert256_imm, [HasAVX512]>;
641 INSERT_get_vinsert256_imm, [HasAVX512]>;
644 INSERT_get_vinsert256_imm, [HasAVX512]>;
647 INSERT_get_vinsert256_imm, [HasAVX512]>;
734 let Predicates = [HasAVX512] in {
783 vextract128_extract, EXTRACT_get_vextract128_imm, [HasAVX512]>;
785 vextract128_extract, EXTRACT_get_vextract128_imm, [HasAVX512]>;
788 vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>;
790 vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>;
809 vextract128_extract, EXTRACT_get_vextract128_imm, [HasAVX512]>;
811 vextract128_extract, EXTRACT_get_vextract128_imm, [HasAVX512]>;
813 vextract128_extract, EXTRACT_get_vextract128_imm, [HasAVX512]>;
815 vextract128_extract, EXTRACT_get_vextract128_imm, [HasAVX512]>;
818 vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>;
820 vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>;
822 vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>;
824 vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>;
950 EXTRACT_get_vextract128_imm, [HasAVX512]>;
957 EXTRACT_get_vextract128_imm, [HasAVX512]>;
960 EXTRACT_get_vextract128_imm, [HasAVX512]>;
963 EXTRACT_get_vextract128_imm, [HasAVX512]>;
979 EXTRACT_get_vextract256_imm, [HasAVX512]>;
992 EXTRACT_get_vextract256_imm, [HasAVX512]>;
995 EXTRACT_get_vextract256_imm, [HasAVX512]>;
998 EXTRACT_get_vextract256_imm, [HasAVX512]>;
1138 let Predicates = [HasAVX512] in {
1155 let Predicates = [HasAVX512] in {
1250 X86VBroadcast, GR32, HasAVX512>;
1252 X86VBroadcast, GR64, HasAVX512>, REX_W;
1280 avx512vl_i32_info, HasAVX512, 1>;
1282 avx512vl_i64_info, HasAVX512, 1>, REX_W;
1353 let Predicates = [HasAVX512] in {
1995 let Predicates = [HasAVX512] in {
2103 SchedWriteVecALU, avx512vl_i32_info, HasAVX512, 1>,
2107 SchedWriteVecALU, avx512vl_i64_info, HasAVX512, 1>,
2119 SchedWriteVecALU, avx512vl_i32_info, HasAVX512>,
2123 SchedWriteVecALU, avx512vl_i64_info, HasAVX512>,
2277 HasAVX512>, EVEX_CD8<32, CD8VF>;
2280 HasAVX512>, EVEX_CD8<32, CD8VF>;
2284 HasAVX512>, REX_W, EVEX_CD8<64, CD8VF>;
2287 HasAVX512>, REX_W, EVEX_CD8<64, CD8VF>;
2418 Predicate Pred = HasAVX512> {
2438 let Predicates = [HasAVX512] in {
2657 let Predicates = [HasAVX512, NoEGPR] in
2661 let Predicates = [HasAVX512, HasEGPR, In64BitMode] in
2737 let Predicates = [HasAVX512] in {
2749 let Predicates = [HasAVX512] in {
2797 sched, HasAVX512>, VEX, TB;
2808 let Predicates = [HasAVX512, NoDQI] in
2836 Predicate prdW = HasAVX512> {
2902 defm KUNPCKBW : avx512_mask_unpck<"bw", v16i1_info, v8i1_info, WriteShuffle, HasAVX512>, TB, PD;
2919 Predicate prdW = HasAVX512> {
2937 let Predicates = [HasAVX512] in
3083 let Predicates = [HasAVX512, NoVLX, HasEVEX512] in {
3130 let Predicates = [HasAVX512] in
3147 let Predicates = [HasAVX512] in {
3379 HasAVX512, SchedWriteFMoveLS>,
3381 HasAVX512, SchedWriteFMoveLS>,
3385 HasAVX512, SchedWriteFMoveLS>,
3387 HasAVX512, SchedWriteFMoveLS>,
3390 defm VMOVUPS : avx512_load_vl<0x10, "vmovups", avx512vl_f32_info, HasAVX512,
3392 avx512_store_vl<0x11, "vmovups", avx512vl_f32_info, HasAVX512,
3396 defm VMOVUPD : avx512_load_vl<0x10, "vmovupd", avx512vl_f64_info, HasAVX512,
3398 avx512_store_vl<0x11, "vmovupd", avx512vl_f64_info, HasAVX512,
3403 HasAVX512, SchedWriteVecMoveLS, 1>,
3405 HasAVX512, SchedWriteVecMoveLS, 1>,
3409 HasAVX512, SchedWriteVecMoveLS>,
3411 HasAVX512, SchedWriteVecMoveLS>,
3426 defm VMOVDQU32 : avx512_load_vl<0x6F, "vmovdqu32", avx512vl_i32_info, HasAVX512,
3428 avx512_store_vl<0x7F, "vmovdqu32", avx512vl_i32_info, HasAVX512,
3432 defm VMOVDQU64 : avx512_load_vl<0x6F, "vmovdqu64", avx512vl_i64_info, HasAVX512,
3434 avx512_store_vl<0x7F, "vmovdqu64", avx512vl_i64_info, HasAVX512,
3508 let Predicates = [HasAVX512, NoVLX, HasEVEX512] in {
3534 let Predicates = [HasAVX512] in {
3824 Requires<[HasAVX512]>;
3830 Requires<[HasAVX512, In64BitMode]>;
3838 Sched<[WriteVecStore]>, Requires<[HasAVX512]>;
3850 let Predicates = [HasAVX512] in {
3898 X86VectorVTInfo _, Predicate prd = HasAVX512> {
4389 let Predicates = [HasAVX512, OptForSize] in {
4417 let Predicates = [HasAVX512, OptForSpeed] in {
4430 let Predicates = [HasAVX512] in {
4495 let Predicates = [HasAVX512] in {
4582 let Predicates = [HasAVX512] in
4585 let Predicates = [HasAVX512, HasVLX] in {
4598 let Predicates = [HasAVX512], AddedComplexity = 400 in {
4786 sched, HasAVX512, IsCommutable>,
4836 SchedWritePMULLD, HasAVX512, 1>, T8;
4850 SchedWriteVecIMul, HasAVX512, 1>, T8;
4852 SchedWriteVecIMul, HasAVX512, 1>;
4982 SchedWriteVecALU, HasAVX512, 1>, T8;
4984 SchedWriteVecALU, HasAVX512, 1>, T8;
4991 SchedWriteVecALU, HasAVX512, 1>, T8;
4993 SchedWriteVecALU, HasAVX512, 1>, T8;
5000 SchedWriteVecALU, HasAVX512, 1>, T8;
5002 SchedWriteVecALU, HasAVX512, 1>, T8;
5009 SchedWriteVecALU, HasAVX512, 1>, T8;
5011 SchedWriteVecALU, HasAVX512, 1>, T8;
5070 let Predicates = [HasAVX512, NoVLX, HasEVEX512] in {
5082 SchedWriteVecLogic, HasAVX512, 1>;
5084 SchedWriteVecLogic, HasAVX512, 1>;
5086 SchedWriteVecLogic, HasAVX512, 1>;
5088 SchedWriteVecLogic, HasAVX512>;
5172 let Predicates = [HasAVX512] in {
5275 let Predicates = [HasAVX512] in {
5290 let Predicates = [HasAVX512] in {
5366 let isCodeGenOnly = 1, Predicates = [HasAVX512] in {
5411 let isCodeGenOnly = 1, Predicates = [HasAVX512],
5491 let isCodeGenOnly = 1, Predicates = [HasAVX512], ExeDomain = _.ExeDomain in {
5674 defm VADD : avx512_fp_binop_p<0x58, "vadd", any_fadd, fadd, HasAVX512,
5678 defm VMUL : avx512_fp_binop_p<0x59, "vmul", any_fmul, fmul, HasAVX512,
5682 defm VSUB : avx512_fp_binop_p<0x5C, "vsub", any_fsub, fsub, HasAVX512,
5686 defm VDIV : avx512_fp_binop_p<0x5E, "vdiv", any_fdiv, fdiv, HasAVX512,
5690 defm VMIN : avx512_fp_binop_p<0x5D, "vmin", X86fmin, X86fmin, HasAVX512,
5694 defm VMAX : avx512_fp_binop_p<0x5F, "vmax", X86fmax, X86fmax, HasAVX512,
5699 defm VMINC : avx512_fp_binop_p<0x5D, "vmin", X86fminc, X86fminc, HasAVX512,
5703 defm VMAXC : avx512_fp_binop_p<0x5F, "vmax", X86fmaxc, X86fmaxc, HasAVX512,
5842 let Predicates = [HasAVX512] in
5846 let Predicates = [HasAVX512, HasVLX] in {
5967 avx512vl_i32_info, HasAVX512>;
5969 avx512vl_i64_info, HasAVX512>, REX_W;
5978 let Predicates = [HasAVX512] in
5983 let Predicates = [HasAVX512, HasVLX] in {
6047 let Predicates = [HasAVX512, NoVLX, HasEVEX512] in {
6109 let Predicates = [HasAVX512] in
6113 let Predicates = [HasAVX512, HasVLX] in {
6176 defm : avx512_var_shift_lowering<avx512vl_i64_info, "VPSRAVQ", X86vsrav, [HasAVX512, NoVLX, HasEVEX…
6183 let Predicates = [HasAVX512, NoVLX, HasEVEX512] in {
6234 let Predicates = [HasAVX512, NoVLX, HasEVEX512] in {
6290 let Predicates = [HasAVX512] in
6294 let Predicates = [HasAVX512, HasVLX] in
6302 let Predicates = [HasAVX512] in
6307 let Predicates = [HasAVX512, HasVLX] in
6385 let Predicates = [HasAVX512] in {
6389 let Predicates = [HasAVX512, HasVLX] in {
6495 let Predicates = [HasAVX512] in {
6531 let Predicates = [HasAVX512] in {
6592 Predicate prd = HasAVX512> {
6689 Predicate prd = HasAVX512> {
6787 Predicate prd = HasAVX512> {
6913 let Predicates = [HasAVX512] in {
6937 Predicate prd = HasAVX512> {
7290 let Predicates = [HasAVX512] in {
7378 string aliasStr, Predicate prd = HasAVX512> {
7435 let Predicates = [HasAVX512], ExeDomain = SrcVT.ExeDomain in {
7446 } // Predicates = [HasAVX512]
7458 let Predicates = [HasAVX512] in {
7468 let Predicates = [HasAVX512] in {
7548 } // Predicates = [HasAVX512]
7555 Predicate prd = HasAVX512> {
7685 Predicate prd = HasAVX512> {
7697 Predicate prd = HasAVX512> {
7725 Requires<[HasAVX512]>;
7728 Requires<[HasAVX512, OptForSize]>;
7732 Requires<[HasAVX512]>;
7760 Requires<[HasAVX512]>;
7767 Requires<[HasAVX512]>;
7871 X86SchedWriteWidths sched, Predicate prd = HasAVX512> {
7891 X86SchedWriteWidths sched, Predicate prd = HasAVX512,
8169 let Predicates = [HasAVX512] in
8193 let Predicates = [HasAVX512] in
8211 let Predicates = [HasAVX512] in {
8229 let Predicates = [HasAVX512] in {
8247 let Predicates = [HasAVX512] in {
8312 let Predicates = [HasAVX512] in {
8951 let Predicates = [HasAVX512] in
9036 let Predicates = [HasAVX512] in {
9076 let Defs = [EFLAGS], Predicates = [HasAVX512] in {
9087 let Defs = [EFLAGS], Predicates = [HasAVX512] in {
9144 Predicate prd = HasAVX512> {
9529 X86VectorVTInfo _, string Name, Predicate prd = HasAVX512> {
9619 let isCodeGenOnly = 1, hasSideEffects = 0, Predicates = [HasAVX512] in {
9633 let Predicates = [HasAVX512] in {
9639 let Predicates = [HasAVX512, OptForSize] in {
9685 fp32imm0, (COPY_TO_REGCLASS $mask, VK1WM), HasAVX512>;
9688 fp64imm0, (COPY_TO_REGCLASS $mask, VK1WM), HasAVX512>;
9762 PatFrag mtruncFrag, Predicate prd = HasAVX512>{
9925 let Predicates = [HasAVX512, NoVLX, HasEVEX512] in {
9966 let Predicates = [HasAVX512] in {
10020 let Predicates = [HasVLX, HasAVX512] in {
10029 let Predicates = [HasAVX512] in {
10040 let Predicates = [HasVLX, HasAVX512] in {
10049 let Predicates = [HasAVX512] in {
10060 let Predicates = [HasVLX, HasAVX512] in {
10069 let Predicates = [HasAVX512] in {
10080 let Predicates = [HasVLX, HasAVX512] in {
10089 let Predicates = [HasAVX512] in {
10101 let Predicates = [HasVLX, HasAVX512] in {
10110 let Predicates = [HasAVX512] in {
10154 let Predicates = [HasAVX512] in {
10229 let Predicates = [HasAVX512] in {
10245 let Predicates = [HasAVX512, NoBWI] in {
10551 Predicate Pred = HasAVX512> {
10615 Predicate Pred = HasAVX512> {
10865 Predicate Pred = HasAVX512> {
10907 SchedWriteFRnd, HasAVX512>;
10910 SchedWriteFRnd, HasAVX512>;
10939 0x27, X86GetMants, X86GetMantsSAE, SchedWriteFRnd, HasAVX512>,
10942 0x27, X86GetMants, X86GetMantsSAE, SchedWriteFRnd, HasAVX512>,
10986 let Predicates = [HasAVX512] in
10990 let Predicates = [HasAVX512, HasVLX] in
11033 let Predicates = [HasAVX512] in {
11037 let Predicates = [HasAVX512, HasVLX] in {
11144 let Predicates = [HasAVX512] in {
11257 HasAVX512>,
11266 let Predicates = [HasAVX512, NoVLX, HasEVEX512] in {
11330 avx512vl_f32_info, HasAVX512>, TB, XS;
11362 let Predicates = [HasAVX512, HasVLX] in {
11396 defm VUNPCKH : avx512_fp_binop_p<0x15, "vunpckh", X86Unpckh, X86Unpckh, HasAVX512,
11398 defm VUNPCKL : avx512_fp_binop_p<0x14, "vunpckl", X86Unpckl, X86Unpckl, HasAVX512,
11412 SchedWriteShuffle, HasAVX512>;
11414 SchedWriteShuffle, HasAVX512>;
11416 SchedWriteShuffle, HasAVX512>;
11418 SchedWriteShuffle, HasAVX512>;
11538 let Predicates = [HasAVX512, NoBWI] in {
11868 let Predicates = [HasAVX512] in
11871 let Predicates = [HasAVX512, HasVLX] in {
11890 let Predicates = [HasAVX512] in {
11901 let Predicates = [HasAVX512, NoVLX, HasEVEX512] in {
12037 let Constraints = "$src1 = $dst" , Predicates = [HasAVX512],
12071 let Predicates = [HasAVX512] in
12075 let Predicates = [HasAVX512, HasVLX] in {
12141 let Predicates = [HasAVX512] in {
12217 let Predicates = [HasAVX512] in {
12243 let Predicates = [HasAVX512, HasVAES] in
12259 let Predicates = [HasAVX512, HasVPCLMULQDQ] in
12510 let Predicates = [HasGFNI, HasAVX512] in
12542 let Predicates = [HasGFNI, HasAVX512] in
12654 let Predicates = [HasAVX512, HasVP2INTERSECT] in
12657 let Predicates = [HasAVX512, HasVP2INTERSECT, HasVLX] in {