Expand Up
@@ -120,6 +120,12 @@ static const IntrinsicData IntrinsicsWithChain[] = {
X86_INTRINSIC_DATA (avx512_gatherpf_qps_512, PREFETCH,
X86::VGATHERPF0QPSm, X86::VGATHERPF1QPSm),
X86_INTRINSIC_DATA (avx512_mask_compress_store_b_128,
COMPRESS_TO_MEM, X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_store_b_256,
COMPRESS_TO_MEM, X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_store_b_512,
COMPRESS_TO_MEM, X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_store_d_128,
COMPRESS_TO_MEM, X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_store_d_256,
Expand All
@@ -144,6 +150,18 @@ static const IntrinsicData IntrinsicsWithChain[] = {
COMPRESS_TO_MEM, X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_store_q_512,
COMPRESS_TO_MEM, X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_store_w_128,
COMPRESS_TO_MEM, X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_store_w_256,
COMPRESS_TO_MEM, X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_store_w_512,
COMPRESS_TO_MEM, X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_load_b_128,
EXPAND_FROM_MEM, X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_load_b_256,
EXPAND_FROM_MEM, X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_load_b_512,
EXPAND_FROM_MEM, X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_load_d_128,
EXPAND_FROM_MEM, X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_load_d_256,
Expand All
@@ -168,6 +186,12 @@ static const IntrinsicData IntrinsicsWithChain[] = {
EXPAND_FROM_MEM, X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_load_q_512,
EXPAND_FROM_MEM, X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_load_w_128,
EXPAND_FROM_MEM, X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_load_w_256,
EXPAND_FROM_MEM, X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_load_w_512,
EXPAND_FROM_MEM, X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_pmov_db_mem_128, TRUNCATE_TO_MEM_VI8,
X86ISD::VTRUNC, 0 ),
X86_INTRINSIC_DATA (avx512_mask_pmov_db_mem_256, TRUNCATE_TO_MEM_VI8,
Expand Down
Expand Up
@@ -479,6 +503,13 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::FSETCCM, X86ISD::FSETCCM_RND),
X86_INTRINSIC_DATA (avx512_mask_cmp_ss, CMP_MASK_SCALAR_CC,
X86ISD::FSETCCM, X86ISD::FSETCCM_RND),
X86_INTRINSIC_DATA (avx512_mask_compress_b_128, COMPRESS_EXPAND_IN_REG,
X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_b_256, COMPRESS_EXPAND_IN_REG,
X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_b_512, COMPRESS_EXPAND_IN_REG,
X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_d_128, COMPRESS_EXPAND_IN_REG,
X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_d_256, COMPRESS_EXPAND_IN_REG,
Expand All
@@ -503,6 +534,12 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_q_512, COMPRESS_EXPAND_IN_REG,
X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_w_128, COMPRESS_EXPAND_IN_REG,
X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_w_256, COMPRESS_EXPAND_IN_REG,
X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_compress_w_512, COMPRESS_EXPAND_IN_REG,
X86ISD::COMPRESS, 0 ),
X86_INTRINSIC_DATA (avx512_mask_conflict_d_128, INTR_TYPE_1OP_MASK,
X86ISD::CONFLICT, 0 ),
X86_INTRINSIC_DATA (avx512_mask_conflict_d_256, INTR_TYPE_1OP_MASK,
Expand Down
Expand Up
@@ -677,6 +714,12 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::FDIVS_RND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_div_ss_round, INTR_TYPE_SCALAR_MASK_RM,
X86ISD::FDIVS_RND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_b_128, COMPRESS_EXPAND_IN_REG,
X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_b_256, COMPRESS_EXPAND_IN_REG,
X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_b_512, COMPRESS_EXPAND_IN_REG,
X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_d_128, COMPRESS_EXPAND_IN_REG,
X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_d_256, COMPRESS_EXPAND_IN_REG,
Expand All
@@ -701,6 +744,12 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_q_512, COMPRESS_EXPAND_IN_REG,
X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_w_128, COMPRESS_EXPAND_IN_REG,
X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_w_256, COMPRESS_EXPAND_IN_REG,
X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_expand_w_512, COMPRESS_EXPAND_IN_REG,
X86ISD::EXPAND, 0 ),
X86_INTRINSIC_DATA (avx512_mask_fixupimm_pd_128, FIXUPIMM, X86ISD::VFIXUPIMM, 0 ),
X86_INTRINSIC_DATA (avx512_mask_fixupimm_pd_256, FIXUPIMM, X86ISD::VFIXUPIMM, 0 ),
X86_INTRINSIC_DATA (avx512_mask_fixupimm_pd_512, FIXUPIMM, X86ISD::VFIXUPIMM, 0 ),
Expand Down
Expand Up
@@ -1192,6 +1241,44 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::VPMADD52L, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpmadd52l_uq_512 , IFMA_OP_MASK,
X86ISD::VPMADD52L, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshld_d_128, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHLD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshld_d_256, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHLD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshld_d_512, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHLD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshld_q_128, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHLD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshld_q_256, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHLD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshld_q_512, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHLD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshld_w_128, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHLD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshld_w_256, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHLD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshld_w_512, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHLD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshldv_d_128, FMA_OP_MASK, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshldv_d_256, FMA_OP_MASK, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshldv_d_512, FMA_OP_MASK, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshldv_q_128, FMA_OP_MASK, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshldv_q_256, FMA_OP_MASK, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshldv_q_512, FMA_OP_MASK, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshldv_w_128, FMA_OP_MASK, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshldv_w_256, FMA_OP_MASK, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshldv_w_512, FMA_OP_MASK, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrd_d_128, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHRD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrd_d_256, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHRD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrd_d_512, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHRD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrd_q_128, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHRD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrd_q_256, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHRD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrd_q_512, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHRD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrd_w_128, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHRD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrd_w_256, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHRD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrd_w_512, INTR_TYPE_3OP_IMM8_MASK, X86ISD::VSHRD, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrdv_d_128, FMA_OP_MASK, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrdv_d_256, FMA_OP_MASK, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrdv_d_512, FMA_OP_MASK, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrdv_q_128, FMA_OP_MASK, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrdv_q_256, FMA_OP_MASK, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrdv_q_512, FMA_OP_MASK, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrdv_w_128, FMA_OP_MASK, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrdv_w_256, FMA_OP_MASK, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask_vpshrdv_w_512, FMA_OP_MASK, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_mask3_vfmadd_pd_128, FMA_OP_MASK3, ISD::FMA, 0 ),
X86_INTRINSIC_DATA (avx512_mask3_vfmadd_pd_256, FMA_OP_MASK3, ISD::FMA, 0 ),
X86_INTRINSIC_DATA (avx512_mask3_vfmadd_pd_512, FMA_OP_MASK3, ISD::FMA,
Expand Down
Expand Up
@@ -1338,6 +1425,26 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::VPMADD52L, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpmadd52l_uq_512, IFMA_OP_MASKZ,
X86ISD::VPMADD52L, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshldv_d_128, FMA_OP_MASKZ, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshldv_d_256, FMA_OP_MASKZ, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshldv_d_512, FMA_OP_MASKZ, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshldv_q_128, FMA_OP_MASKZ, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshldv_q_256, FMA_OP_MASKZ, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshldv_q_512, FMA_OP_MASKZ, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshldv_w_128, FMA_OP_MASKZ, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshldv_w_256, FMA_OP_MASKZ, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshldv_w_512, FMA_OP_MASKZ, X86ISD::VSHLDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshrdv_d_128, FMA_OP_MASKZ, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshrdv_d_256, FMA_OP_MASKZ, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshrdv_d_512, FMA_OP_MASKZ, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshrdv_q_128, FMA_OP_MASKZ, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshrdv_q_256, FMA_OP_MASKZ, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshrdv_q_512, FMA_OP_MASKZ, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshrdv_w_128, FMA_OP_MASKZ, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshrdv_w_256, FMA_OP_MASKZ, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_maskz_vpshrdv_w_512, FMA_OP_MASKZ, X86ISD::VSHRDV, 0 ),
X86_INTRINSIC_DATA (avx512_packssdw_512, INTR_TYPE_2OP, X86ISD::PACKSS, 0 ),
X86_INTRINSIC_DATA (avx512_packsswb_512, INTR_TYPE_2OP, X86ISD::PACKSS, 0 ),
X86_INTRINSIC_DATA (avx512_packusdw_512, INTR_TYPE_2OP, X86ISD::PACKUS, 0 ),
Expand Down