brintos

brintos / llvm-project-archived public Read only

0
0
Text · 123.4 KiB · 99665b5 Raw
2106 lines · c
1//===-- X86IntrinsicsInfo.h - X86 Intrinsics ------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// This file contains the details for lowering X86 intrinsics10//11//===----------------------------------------------------------------------===//12 13#ifndef LLVM_LIB_TARGET_X86_X86INTRINSICSINFO_H14#define LLVM_LIB_TARGET_X86_X86INTRINSICSINFO_H15 16#include "X86ISelLowering.h"17#include "X86InstrInfo.h"18#include "llvm/IR/IntrinsicsX86.h"19 20namespace llvm {21 22enum IntrinsicType : uint16_t {23  CVTNEPS2BF16_MASK,24  GATHER,25  SCATTER,26  PREFETCH,27  RDSEED,28  RDRAND,29  RDPMC,30  RDTSC,31  XTEST,32  XGETBV,33  ADX,34  FPCLASSS,35  INTR_TYPE_1OP,36  INTR_TYPE_2OP,37  INTR_TYPE_3OP,38  INTR_TYPE_4OP_IMM8,39  INTR_TYPE_3OP_IMM8,40  CFMA_OP_MASK,41  CFMA_OP_MASKZ,42  CMP_MASK_CC,43  CMP_MASK_SCALAR_CC,44  VSHIFT,45  COMI,46  COMI_RM,47  BLENDV,48  BEXTRI,49  CVTPD2PS_MASK,50  INTR_TYPE_1OP_SAE,51  INTR_TYPE_2OP_SAE,52  INTR_TYPE_1OP_MASK_SAE,53  INTR_TYPE_2OP_MASK_SAE,54  INTR_TYPE_3OP_MASK_SAE,55  INTR_TYPE_1OP_MASK,56  INTR_TYPE_2OP_MASK,57  IFMA_OP,58  VPERM_2OP,59  INTR_TYPE_SCALAR_MASK,60  INTR_TYPE_SCALAR_MASK_SAE,61  INTR_TYPE_SCALAR_MASK_RND,62  INTR_TYPE_3OP_SCALAR_MASK_SAE,63  COMPRESS_EXPAND_IN_REG,64  TRUNCATE_TO_REG,65  TRUNCATE2_TO_REG,66  CVTPS2PH_MASK,67  CVTPD2DQ_MASK,68  CVTQQ2PS_MASK,69  TRUNCATE_TO_MEM_VI8,70  TRUNCATE_TO_MEM_VI16,71  TRUNCATE_TO_MEM_VI32,72  FIXUPIMM,73  FIXUPIMM_MASKZ,74  GATHER_AVX2,75  ROUNDP,76  ROUNDS,77  RDPRU,78  INTR_TYPE_CAST_MMX79};80 81struct IntrinsicData {82 83  uint16_t Id;84  IntrinsicType Type;85  uint16_t Opc0;86  uint16_t Opc1;87 88  bool operator<(const IntrinsicData &RHS) const { return Id < RHS.Id; }89  bool operator==(const IntrinsicData &RHS) const { return RHS.Id == Id; }90  friend bool operator<(const IntrinsicData &LHS, unsigned Id) {91    return LHS.Id < Id;92  }93};94 95#define X86_INTRINSIC_DATA(id, type, op0, op1)                                 \96  {Intrinsic::x86_##id, type, op0, op1}97 98/*99 * IntrinsicsWithChain - the table should be sorted by Intrinsic ID - in100 * the alphabetical order.101 */102static const IntrinsicData IntrinsicsWithChain[] = {103    X86_INTRINSIC_DATA(avx2_gather_d_d, GATHER_AVX2, 0, 0),104    X86_INTRINSIC_DATA(avx2_gather_d_d_256, GATHER_AVX2, 0, 0),105    X86_INTRINSIC_DATA(avx2_gather_d_pd, GATHER_AVX2, 0, 0),106    X86_INTRINSIC_DATA(avx2_gather_d_pd_256, GATHER_AVX2, 0, 0),107    X86_INTRINSIC_DATA(avx2_gather_d_ps, GATHER_AVX2, 0, 0),108    X86_INTRINSIC_DATA(avx2_gather_d_ps_256, GATHER_AVX2, 0, 0),109    X86_INTRINSIC_DATA(avx2_gather_d_q, GATHER_AVX2, 0, 0),110    X86_INTRINSIC_DATA(avx2_gather_d_q_256, GATHER_AVX2, 0, 0),111    X86_INTRINSIC_DATA(avx2_gather_q_d, GATHER_AVX2, 0, 0),112    X86_INTRINSIC_DATA(avx2_gather_q_d_256, GATHER_AVX2, 0, 0),113    X86_INTRINSIC_DATA(avx2_gather_q_pd, GATHER_AVX2, 0, 0),114    X86_INTRINSIC_DATA(avx2_gather_q_pd_256, GATHER_AVX2, 0, 0),115    X86_INTRINSIC_DATA(avx2_gather_q_ps, GATHER_AVX2, 0, 0),116    X86_INTRINSIC_DATA(avx2_gather_q_ps_256, GATHER_AVX2, 0, 0),117    X86_INTRINSIC_DATA(avx2_gather_q_q, GATHER_AVX2, 0, 0),118    X86_INTRINSIC_DATA(avx2_gather_q_q_256, GATHER_AVX2, 0, 0),119 120    X86_INTRINSIC_DATA(avx512_gather_dpd_512, GATHER, 0, 0),121    X86_INTRINSIC_DATA(avx512_gather_dpi_512, GATHER, 0, 0),122    X86_INTRINSIC_DATA(avx512_gather_dpq_512, GATHER, 0, 0),123    X86_INTRINSIC_DATA(avx512_gather_dps_512, GATHER, 0, 0),124    X86_INTRINSIC_DATA(avx512_gather_qpd_512, GATHER, 0, 0),125    X86_INTRINSIC_DATA(avx512_gather_qpi_512, GATHER, 0, 0),126    X86_INTRINSIC_DATA(avx512_gather_qpq_512, GATHER, 0, 0),127    X86_INTRINSIC_DATA(avx512_gather_qps_512, GATHER, 0, 0),128    X86_INTRINSIC_DATA(avx512_gather3div2_df, GATHER, 0, 0),129    X86_INTRINSIC_DATA(avx512_gather3div2_di, GATHER, 0, 0),130    X86_INTRINSIC_DATA(avx512_gather3div4_df, GATHER, 0, 0),131    X86_INTRINSIC_DATA(avx512_gather3div4_di, GATHER, 0, 0),132    X86_INTRINSIC_DATA(avx512_gather3div4_sf, GATHER, 0, 0),133    X86_INTRINSIC_DATA(avx512_gather3div4_si, GATHER, 0, 0),134    X86_INTRINSIC_DATA(avx512_gather3div8_sf, GATHER, 0, 0),135    X86_INTRINSIC_DATA(avx512_gather3div8_si, GATHER, 0, 0),136    X86_INTRINSIC_DATA(avx512_gather3siv2_df, GATHER, 0, 0),137    X86_INTRINSIC_DATA(avx512_gather3siv2_di, GATHER, 0, 0),138    X86_INTRINSIC_DATA(avx512_gather3siv4_df, GATHER, 0, 0),139    X86_INTRINSIC_DATA(avx512_gather3siv4_di, GATHER, 0, 0),140    X86_INTRINSIC_DATA(avx512_gather3siv4_sf, GATHER, 0, 0),141    X86_INTRINSIC_DATA(avx512_gather3siv4_si, GATHER, 0, 0),142    X86_INTRINSIC_DATA(avx512_gather3siv8_sf, GATHER, 0, 0),143    X86_INTRINSIC_DATA(avx512_gather3siv8_si, GATHER, 0, 0),144 145    X86_INTRINSIC_DATA(avx512_mask_gather_dpd_512, GATHER, 0, 0),146    X86_INTRINSIC_DATA(avx512_mask_gather_dpi_512, GATHER, 0, 0),147    X86_INTRINSIC_DATA(avx512_mask_gather_dpq_512, GATHER, 0, 0),148    X86_INTRINSIC_DATA(avx512_mask_gather_dps_512, GATHER, 0, 0),149    X86_INTRINSIC_DATA(avx512_mask_gather_qpd_512, GATHER, 0, 0),150    X86_INTRINSIC_DATA(avx512_mask_gather_qpi_512, GATHER, 0, 0),151    X86_INTRINSIC_DATA(avx512_mask_gather_qpq_512, GATHER, 0, 0),152    X86_INTRINSIC_DATA(avx512_mask_gather_qps_512, GATHER, 0, 0),153    X86_INTRINSIC_DATA(avx512_mask_gather3div2_df, GATHER, 0, 0),154    X86_INTRINSIC_DATA(avx512_mask_gather3div2_di, GATHER, 0, 0),155    X86_INTRINSIC_DATA(avx512_mask_gather3div4_df, GATHER, 0, 0),156    X86_INTRINSIC_DATA(avx512_mask_gather3div4_di, GATHER, 0, 0),157    X86_INTRINSIC_DATA(avx512_mask_gather3div4_sf, GATHER, 0, 0),158    X86_INTRINSIC_DATA(avx512_mask_gather3div4_si, GATHER, 0, 0),159    X86_INTRINSIC_DATA(avx512_mask_gather3div8_sf, GATHER, 0, 0),160    X86_INTRINSIC_DATA(avx512_mask_gather3div8_si, GATHER, 0, 0),161    X86_INTRINSIC_DATA(avx512_mask_gather3siv2_df, GATHER, 0, 0),162    X86_INTRINSIC_DATA(avx512_mask_gather3siv2_di, GATHER, 0, 0),163    X86_INTRINSIC_DATA(avx512_mask_gather3siv4_df, GATHER, 0, 0),164    X86_INTRINSIC_DATA(avx512_mask_gather3siv4_di, GATHER, 0, 0),165    X86_INTRINSIC_DATA(avx512_mask_gather3siv4_sf, GATHER, 0, 0),166    X86_INTRINSIC_DATA(avx512_mask_gather3siv4_si, GATHER, 0, 0),167    X86_INTRINSIC_DATA(avx512_mask_gather3siv8_sf, GATHER, 0, 0),168    X86_INTRINSIC_DATA(avx512_mask_gather3siv8_si, GATHER, 0, 0),169 170    X86_INTRINSIC_DATA(avx512_mask_pmov_db_mem_128, TRUNCATE_TO_MEM_VI8,171                       X86ISD::VTRUNC, 0),172    X86_INTRINSIC_DATA(avx512_mask_pmov_db_mem_256, TRUNCATE_TO_MEM_VI8,173                       X86ISD::VTRUNC, 0),174    X86_INTRINSIC_DATA(avx512_mask_pmov_db_mem_512, TRUNCATE_TO_MEM_VI8,175                       X86ISD::VTRUNC, 0),176    X86_INTRINSIC_DATA(avx512_mask_pmov_dw_mem_128, TRUNCATE_TO_MEM_VI16,177                       X86ISD::VTRUNC, 0),178    X86_INTRINSIC_DATA(avx512_mask_pmov_dw_mem_256, TRUNCATE_TO_MEM_VI16,179                       X86ISD::VTRUNC, 0),180    X86_INTRINSIC_DATA(avx512_mask_pmov_dw_mem_512, TRUNCATE_TO_MEM_VI16,181                       X86ISD::VTRUNC, 0),182    X86_INTRINSIC_DATA(avx512_mask_pmov_qb_mem_128, TRUNCATE_TO_MEM_VI8,183                       X86ISD::VTRUNC, 0),184    X86_INTRINSIC_DATA(avx512_mask_pmov_qb_mem_256, TRUNCATE_TO_MEM_VI8,185                       X86ISD::VTRUNC, 0),186    X86_INTRINSIC_DATA(avx512_mask_pmov_qb_mem_512, TRUNCATE_TO_MEM_VI8,187                       X86ISD::VTRUNC, 0),188    X86_INTRINSIC_DATA(avx512_mask_pmov_qd_mem_128, TRUNCATE_TO_MEM_VI32,189                       X86ISD::VTRUNC, 0),190    X86_INTRINSIC_DATA(avx512_mask_pmov_qd_mem_256, TRUNCATE_TO_MEM_VI32,191                       X86ISD::VTRUNC, 0),192    X86_INTRINSIC_DATA(avx512_mask_pmov_qd_mem_512, TRUNCATE_TO_MEM_VI32,193                       X86ISD::VTRUNC, 0),194    X86_INTRINSIC_DATA(avx512_mask_pmov_qw_mem_128, TRUNCATE_TO_MEM_VI16,195                       X86ISD::VTRUNC, 0),196    X86_INTRINSIC_DATA(avx512_mask_pmov_qw_mem_256, TRUNCATE_TO_MEM_VI16,197                       X86ISD::VTRUNC, 0),198    X86_INTRINSIC_DATA(avx512_mask_pmov_qw_mem_512, TRUNCATE_TO_MEM_VI16,199                       X86ISD::VTRUNC, 0),200    X86_INTRINSIC_DATA(avx512_mask_pmov_wb_mem_128, TRUNCATE_TO_MEM_VI8,201                       X86ISD::VTRUNC, 0),202    X86_INTRINSIC_DATA(avx512_mask_pmov_wb_mem_256, TRUNCATE_TO_MEM_VI8,203                       X86ISD::VTRUNC, 0),204    X86_INTRINSIC_DATA(avx512_mask_pmov_wb_mem_512, TRUNCATE_TO_MEM_VI8,205                       X86ISD::VTRUNC, 0),206    X86_INTRINSIC_DATA(avx512_mask_pmovs_db_mem_128, TRUNCATE_TO_MEM_VI8,207                       X86ISD::VTRUNCS, 0),208    X86_INTRINSIC_DATA(avx512_mask_pmovs_db_mem_256, TRUNCATE_TO_MEM_VI8,209                       X86ISD::VTRUNCS, 0),210    X86_INTRINSIC_DATA(avx512_mask_pmovs_db_mem_512, TRUNCATE_TO_MEM_VI8,211                       X86ISD::VTRUNCS, 0),212    X86_INTRINSIC_DATA(avx512_mask_pmovs_dw_mem_128, TRUNCATE_TO_MEM_VI16,213                       X86ISD::VTRUNCS, 0),214    X86_INTRINSIC_DATA(avx512_mask_pmovs_dw_mem_256, TRUNCATE_TO_MEM_VI16,215                       X86ISD::VTRUNCS, 0),216    X86_INTRINSIC_DATA(avx512_mask_pmovs_dw_mem_512, TRUNCATE_TO_MEM_VI16,217                       X86ISD::VTRUNCS, 0),218    X86_INTRINSIC_DATA(avx512_mask_pmovs_qb_mem_128, TRUNCATE_TO_MEM_VI8,219                       X86ISD::VTRUNCS, 0),220    X86_INTRINSIC_DATA(avx512_mask_pmovs_qb_mem_256, TRUNCATE_TO_MEM_VI8,221                       X86ISD::VTRUNCS, 0),222    X86_INTRINSIC_DATA(avx512_mask_pmovs_qb_mem_512, TRUNCATE_TO_MEM_VI8,223                       X86ISD::VTRUNCS, 0),224    X86_INTRINSIC_DATA(avx512_mask_pmovs_qd_mem_128, TRUNCATE_TO_MEM_VI32,225                       X86ISD::VTRUNCS, 0),226    X86_INTRINSIC_DATA(avx512_mask_pmovs_qd_mem_256, TRUNCATE_TO_MEM_VI32,227                       X86ISD::VTRUNCS, 0),228    X86_INTRINSIC_DATA(avx512_mask_pmovs_qd_mem_512, TRUNCATE_TO_MEM_VI32,229                       X86ISD::VTRUNCS, 0),230    X86_INTRINSIC_DATA(avx512_mask_pmovs_qw_mem_128, TRUNCATE_TO_MEM_VI16,231                       X86ISD::VTRUNCS, 0),232    X86_INTRINSIC_DATA(avx512_mask_pmovs_qw_mem_256, TRUNCATE_TO_MEM_VI16,233                       X86ISD::VTRUNCS, 0),234    X86_INTRINSIC_DATA(avx512_mask_pmovs_qw_mem_512, TRUNCATE_TO_MEM_VI16,235                       X86ISD::VTRUNCS, 0),236    X86_INTRINSIC_DATA(avx512_mask_pmovs_wb_mem_128, TRUNCATE_TO_MEM_VI8,237                       X86ISD::VTRUNCS, 0),238    X86_INTRINSIC_DATA(avx512_mask_pmovs_wb_mem_256, TRUNCATE_TO_MEM_VI8,239                       X86ISD::VTRUNCS, 0),240    X86_INTRINSIC_DATA(avx512_mask_pmovs_wb_mem_512, TRUNCATE_TO_MEM_VI8,241                       X86ISD::VTRUNCS, 0),242    X86_INTRINSIC_DATA(avx512_mask_pmovus_db_mem_128, TRUNCATE_TO_MEM_VI8,243                       X86ISD::VTRUNCUS, 0),244    X86_INTRINSIC_DATA(avx512_mask_pmovus_db_mem_256, TRUNCATE_TO_MEM_VI8,245                       X86ISD::VTRUNCUS, 0),246    X86_INTRINSIC_DATA(avx512_mask_pmovus_db_mem_512, TRUNCATE_TO_MEM_VI8,247                       X86ISD::VTRUNCUS, 0),248    X86_INTRINSIC_DATA(avx512_mask_pmovus_dw_mem_128, TRUNCATE_TO_MEM_VI16,249                       X86ISD::VTRUNCUS, 0),250    X86_INTRINSIC_DATA(avx512_mask_pmovus_dw_mem_256, TRUNCATE_TO_MEM_VI16,251                       X86ISD::VTRUNCUS, 0),252    X86_INTRINSIC_DATA(avx512_mask_pmovus_dw_mem_512, TRUNCATE_TO_MEM_VI16,253                       X86ISD::VTRUNCUS, 0),254    X86_INTRINSIC_DATA(avx512_mask_pmovus_qb_mem_128, TRUNCATE_TO_MEM_VI8,255                       X86ISD::VTRUNCUS, 0),256    X86_INTRINSIC_DATA(avx512_mask_pmovus_qb_mem_256, TRUNCATE_TO_MEM_VI8,257                       X86ISD::VTRUNCUS, 0),258    X86_INTRINSIC_DATA(avx512_mask_pmovus_qb_mem_512, TRUNCATE_TO_MEM_VI8,259                       X86ISD::VTRUNCUS, 0),260    X86_INTRINSIC_DATA(avx512_mask_pmovus_qd_mem_128, TRUNCATE_TO_MEM_VI32,261                       X86ISD::VTRUNCUS, 0),262    X86_INTRINSIC_DATA(avx512_mask_pmovus_qd_mem_256, TRUNCATE_TO_MEM_VI32,263                       X86ISD::VTRUNCUS, 0),264    X86_INTRINSIC_DATA(avx512_mask_pmovus_qd_mem_512, TRUNCATE_TO_MEM_VI32,265                       X86ISD::VTRUNCUS, 0),266    X86_INTRINSIC_DATA(avx512_mask_pmovus_qw_mem_128, TRUNCATE_TO_MEM_VI16,267                       X86ISD::VTRUNCUS, 0),268    X86_INTRINSIC_DATA(avx512_mask_pmovus_qw_mem_256, TRUNCATE_TO_MEM_VI16,269                       X86ISD::VTRUNCUS, 0),270    X86_INTRINSIC_DATA(avx512_mask_pmovus_qw_mem_512, TRUNCATE_TO_MEM_VI16,271                       X86ISD::VTRUNCUS, 0),272    X86_INTRINSIC_DATA(avx512_mask_pmovus_wb_mem_128, TRUNCATE_TO_MEM_VI8,273                       X86ISD::VTRUNCUS, 0),274    X86_INTRINSIC_DATA(avx512_mask_pmovus_wb_mem_256, TRUNCATE_TO_MEM_VI8,275                       X86ISD::VTRUNCUS, 0),276    X86_INTRINSIC_DATA(avx512_mask_pmovus_wb_mem_512, TRUNCATE_TO_MEM_VI8,277                       X86ISD::VTRUNCUS, 0),278 279    X86_INTRINSIC_DATA(avx512_mask_scatter_dpd_512, SCATTER, 0, 0),280    X86_INTRINSIC_DATA(avx512_mask_scatter_dpi_512, SCATTER, 0, 0),281    X86_INTRINSIC_DATA(avx512_mask_scatter_dpq_512, SCATTER, 0, 0),282    X86_INTRINSIC_DATA(avx512_mask_scatter_dps_512, SCATTER, 0, 0),283    X86_INTRINSIC_DATA(avx512_mask_scatter_qpd_512, SCATTER, 0, 0),284    X86_INTRINSIC_DATA(avx512_mask_scatter_qpi_512, SCATTER, 0, 0),285    X86_INTRINSIC_DATA(avx512_mask_scatter_qpq_512, SCATTER, 0, 0),286    X86_INTRINSIC_DATA(avx512_mask_scatter_qps_512, SCATTER, 0, 0),287    X86_INTRINSIC_DATA(avx512_mask_scatterdiv2_df, SCATTER, 0, 0),288    X86_INTRINSIC_DATA(avx512_mask_scatterdiv2_di, SCATTER, 0, 0),289    X86_INTRINSIC_DATA(avx512_mask_scatterdiv4_df, SCATTER, 0, 0),290    X86_INTRINSIC_DATA(avx512_mask_scatterdiv4_di, SCATTER, 0, 0),291    X86_INTRINSIC_DATA(avx512_mask_scatterdiv4_sf, SCATTER, 0, 0),292    X86_INTRINSIC_DATA(avx512_mask_scatterdiv4_si, SCATTER, 0, 0),293    X86_INTRINSIC_DATA(avx512_mask_scatterdiv8_sf, SCATTER, 0, 0),294    X86_INTRINSIC_DATA(avx512_mask_scatterdiv8_si, SCATTER, 0, 0),295    X86_INTRINSIC_DATA(avx512_mask_scattersiv2_df, SCATTER, 0, 0),296    X86_INTRINSIC_DATA(avx512_mask_scattersiv2_di, SCATTER, 0, 0),297    X86_INTRINSIC_DATA(avx512_mask_scattersiv4_df, SCATTER, 0, 0),298    X86_INTRINSIC_DATA(avx512_mask_scattersiv4_di, SCATTER, 0, 0),299    X86_INTRINSIC_DATA(avx512_mask_scattersiv4_sf, SCATTER, 0, 0),300    X86_INTRINSIC_DATA(avx512_mask_scattersiv4_si, SCATTER, 0, 0),301    X86_INTRINSIC_DATA(avx512_mask_scattersiv8_sf, SCATTER, 0, 0),302    X86_INTRINSIC_DATA(avx512_mask_scattersiv8_si, SCATTER, 0, 0),303 304    X86_INTRINSIC_DATA(avx512_scatter_dpd_512, SCATTER, 0, 0),305    X86_INTRINSIC_DATA(avx512_scatter_dpi_512, SCATTER, 0, 0),306    X86_INTRINSIC_DATA(avx512_scatter_dpq_512, SCATTER, 0, 0),307    X86_INTRINSIC_DATA(avx512_scatter_dps_512, SCATTER, 0, 0),308    X86_INTRINSIC_DATA(avx512_scatter_qpd_512, SCATTER, 0, 0),309    X86_INTRINSIC_DATA(avx512_scatter_qpi_512, SCATTER, 0, 0),310    X86_INTRINSIC_DATA(avx512_scatter_qpq_512, SCATTER, 0, 0),311    X86_INTRINSIC_DATA(avx512_scatter_qps_512, SCATTER, 0, 0),312    X86_INTRINSIC_DATA(avx512_scatterdiv2_df, SCATTER, 0, 0),313    X86_INTRINSIC_DATA(avx512_scatterdiv2_di, SCATTER, 0, 0),314    X86_INTRINSIC_DATA(avx512_scatterdiv4_df, SCATTER, 0, 0),315    X86_INTRINSIC_DATA(avx512_scatterdiv4_di, SCATTER, 0, 0),316    X86_INTRINSIC_DATA(avx512_scatterdiv4_sf, SCATTER, 0, 0),317    X86_INTRINSIC_DATA(avx512_scatterdiv4_si, SCATTER, 0, 0),318    X86_INTRINSIC_DATA(avx512_scatterdiv8_sf, SCATTER, 0, 0),319    X86_INTRINSIC_DATA(avx512_scatterdiv8_si, SCATTER, 0, 0),320    X86_INTRINSIC_DATA(avx512_scattersiv2_df, SCATTER, 0, 0),321    X86_INTRINSIC_DATA(avx512_scattersiv2_di, SCATTER, 0, 0),322    X86_INTRINSIC_DATA(avx512_scattersiv4_df, SCATTER, 0, 0),323    X86_INTRINSIC_DATA(avx512_scattersiv4_di, SCATTER, 0, 0),324    X86_INTRINSIC_DATA(avx512_scattersiv4_sf, SCATTER, 0, 0),325    X86_INTRINSIC_DATA(avx512_scattersiv4_si, SCATTER, 0, 0),326    X86_INTRINSIC_DATA(avx512_scattersiv8_sf, SCATTER, 0, 0),327    X86_INTRINSIC_DATA(avx512_scattersiv8_si, SCATTER, 0, 0),328    X86_INTRINSIC_DATA(mmx_maskmovq, INTR_TYPE_CAST_MMX, 0, 0),329    X86_INTRINSIC_DATA(mmx_movnt_dq, INTR_TYPE_CAST_MMX, 0, 0),330    X86_INTRINSIC_DATA(rdpmc, RDPMC, X86::RDPMC, 0),331    X86_INTRINSIC_DATA(rdpru, RDPRU, X86::RDPRU, 0),332    X86_INTRINSIC_DATA(rdrand_16, RDRAND, X86ISD::RDRAND, 0),333    X86_INTRINSIC_DATA(rdrand_32, RDRAND, X86ISD::RDRAND, 0),334    X86_INTRINSIC_DATA(rdrand_64, RDRAND, X86ISD::RDRAND, 0),335    X86_INTRINSIC_DATA(rdseed_16, RDSEED, X86ISD::RDSEED, 0),336    X86_INTRINSIC_DATA(rdseed_32, RDSEED, X86ISD::RDSEED, 0),337    X86_INTRINSIC_DATA(rdseed_64, RDSEED, X86ISD::RDSEED, 0),338    X86_INTRINSIC_DATA(rdtsc, RDTSC, X86::RDTSC, 0),339    X86_INTRINSIC_DATA(rdtscp, RDTSC, X86::RDTSCP, 0),340    X86_INTRINSIC_DATA(xgetbv, XGETBV, X86::XGETBV, 0),341    X86_INTRINSIC_DATA(xtest, XTEST, X86ISD::XTEST, 0),342};343 344/*345 * Find Intrinsic data by intrinsic ID346 */347static const IntrinsicData *getIntrinsicWithChain(unsigned IntNo) {348  const IntrinsicData *Data = lower_bound(IntrinsicsWithChain, IntNo);349  if (Data != std::end(IntrinsicsWithChain) && Data->Id == IntNo)350    return Data;351  return nullptr;352}353 354/*355 * IntrinsicsWithoutChain - the table should be sorted by Intrinsic ID - in356 * the alphabetical order.357 */358static const IntrinsicData IntrinsicsWithoutChain[] = {359    X86_INTRINSIC_DATA(addcarry_32, ADX, X86ISD::ADC, X86ISD::ADD),360    X86_INTRINSIC_DATA(addcarry_64, ADX, X86ISD::ADC, X86ISD::ADD),361    X86_INTRINSIC_DATA(avx_addsub_pd_256, INTR_TYPE_2OP, X86ISD::ADDSUB, 0),362    X86_INTRINSIC_DATA(avx_addsub_ps_256, INTR_TYPE_2OP, X86ISD::ADDSUB, 0),363    X86_INTRINSIC_DATA(avx_blendv_pd_256, BLENDV, X86ISD::BLENDV, 0),364    X86_INTRINSIC_DATA(avx_blendv_ps_256, BLENDV, X86ISD::BLENDV, 0),365    X86_INTRINSIC_DATA(avx_cmp_pd_256, INTR_TYPE_3OP, X86ISD::CMPP, 0),366    X86_INTRINSIC_DATA(avx_cmp_ps_256, INTR_TYPE_3OP, X86ISD::CMPP, 0),367    X86_INTRINSIC_DATA(avx_cvt_pd2_ps_256, INTR_TYPE_1OP, X86ISD::VFPROUND, 0),368    X86_INTRINSIC_DATA(avx_cvt_pd2dq_256, INTR_TYPE_1OP, X86ISD::CVTP2SI, 0),369    X86_INTRINSIC_DATA(avx_cvt_ps2dq_256, INTR_TYPE_1OP, X86ISD::CVTP2SI, 0),370    X86_INTRINSIC_DATA(avx_cvtt_pd2dq_256, INTR_TYPE_1OP, X86ISD::CVTTP2SI, 0),371    X86_INTRINSIC_DATA(avx_cvtt_ps2dq_256, INTR_TYPE_1OP, X86ISD::CVTTP2SI, 0),372    X86_INTRINSIC_DATA(avx_hadd_pd_256, INTR_TYPE_2OP, X86ISD::FHADD, 0),373    X86_INTRINSIC_DATA(avx_hadd_ps_256, INTR_TYPE_2OP, X86ISD::FHADD, 0),374    X86_INTRINSIC_DATA(avx_hsub_pd_256, INTR_TYPE_2OP, X86ISD::FHSUB, 0),375    X86_INTRINSIC_DATA(avx_hsub_ps_256, INTR_TYPE_2OP, X86ISD::FHSUB, 0),376    X86_INTRINSIC_DATA(avx_max_pd_256, INTR_TYPE_2OP, X86ISD::FMAX, 0),377    X86_INTRINSIC_DATA(avx_max_ps_256, INTR_TYPE_2OP, X86ISD::FMAX, 0),378    X86_INTRINSIC_DATA(avx_min_pd_256, INTR_TYPE_2OP, X86ISD::FMIN, 0),379    X86_INTRINSIC_DATA(avx_min_ps_256, INTR_TYPE_2OP, X86ISD::FMIN, 0),380    X86_INTRINSIC_DATA(avx_movmsk_pd_256, INTR_TYPE_1OP, X86ISD::MOVMSK, 0),381    X86_INTRINSIC_DATA(avx_movmsk_ps_256, INTR_TYPE_1OP, X86ISD::MOVMSK, 0),382    X86_INTRINSIC_DATA(avx_rcp_ps_256, INTR_TYPE_1OP, X86ISD::FRCP, 0),383    X86_INTRINSIC_DATA(avx_round_pd_256, ROUNDP, X86ISD::VRNDSCALE, 0),384    X86_INTRINSIC_DATA(avx_round_ps_256, ROUNDP, X86ISD::VRNDSCALE, 0),385    X86_INTRINSIC_DATA(avx_rsqrt_ps_256, INTR_TYPE_1OP, X86ISD::FRSQRT, 0),386    X86_INTRINSIC_DATA(avx_vpermilvar_pd, INTR_TYPE_2OP, X86ISD::VPERMILPV, 0),387    X86_INTRINSIC_DATA(avx_vpermilvar_pd_256, INTR_TYPE_2OP, X86ISD::VPERMILPV,388                       0),389    X86_INTRINSIC_DATA(avx_vpermilvar_ps, INTR_TYPE_2OP, X86ISD::VPERMILPV, 0),390    X86_INTRINSIC_DATA(avx_vpermilvar_ps_256, INTR_TYPE_2OP, X86ISD::VPERMILPV,391                       0),392    X86_INTRINSIC_DATA(avx10_fpclass_bf16_128, INTR_TYPE_2OP, X86ISD::VFPCLASS,393                       0),394    X86_INTRINSIC_DATA(avx10_fpclass_bf16_256, INTR_TYPE_2OP, X86ISD::VFPCLASS,395                       0),396    X86_INTRINSIC_DATA(avx10_fpclass_bf16_512, INTR_TYPE_2OP, X86ISD::VFPCLASS,397                       0),398    X86_INTRINSIC_DATA(avx10_mask_getexp_bf16_128, INTR_TYPE_1OP_MASK,399                       X86ISD::FGETEXP, 0),400    X86_INTRINSIC_DATA(avx10_mask_getexp_bf16_256, INTR_TYPE_1OP_MASK,401                       X86ISD::FGETEXP, 0),402    X86_INTRINSIC_DATA(avx10_mask_getexp_bf16_512, INTR_TYPE_1OP_MASK,403                       X86ISD::FGETEXP, 0),404    X86_INTRINSIC_DATA(avx10_mask_getmant_bf16_128, INTR_TYPE_2OP_MASK,405                       X86ISD::VGETMANT, 0),406    X86_INTRINSIC_DATA(avx10_mask_getmant_bf16_256, INTR_TYPE_2OP_MASK,407                       X86ISD::VGETMANT, 0),408    X86_INTRINSIC_DATA(avx10_mask_getmant_bf16_512, INTR_TYPE_2OP_MASK,409                       X86ISD::VGETMANT, 0),410    X86_INTRINSIC_DATA(avx10_mask_rcp_bf16_128, INTR_TYPE_1OP_MASK,411                       X86ISD::RCP14, 0),412    X86_INTRINSIC_DATA(avx10_mask_rcp_bf16_256, INTR_TYPE_1OP_MASK,413                       X86ISD::RCP14, 0),414    X86_INTRINSIC_DATA(avx10_mask_rcp_bf16_512, INTR_TYPE_1OP_MASK,415                       X86ISD::RCP14, 0),416    X86_INTRINSIC_DATA(avx10_mask_reduce_bf16_128, INTR_TYPE_2OP_MASK,417                       X86ISD::VREDUCE, 0),418    X86_INTRINSIC_DATA(avx10_mask_reduce_bf16_256, INTR_TYPE_2OP_MASK,419                       X86ISD::VREDUCE, 0),420    X86_INTRINSIC_DATA(avx10_mask_reduce_bf16_512, INTR_TYPE_2OP_MASK,421                       X86ISD::VREDUCE, 0),422    X86_INTRINSIC_DATA(avx10_mask_rndscale_bf16_128, INTR_TYPE_2OP_MASK,423                       X86ISD::VRNDSCALE, 0),424    X86_INTRINSIC_DATA(avx10_mask_rndscale_bf16_256, INTR_TYPE_2OP_MASK,425                       X86ISD::VRNDSCALE, 0),426    X86_INTRINSIC_DATA(avx10_mask_rndscale_bf16_512, INTR_TYPE_2OP_MASK,427                       X86ISD::VRNDSCALE, 0),428    X86_INTRINSIC_DATA(avx10_mask_rsqrt_bf16_128, INTR_TYPE_1OP_MASK,429                       X86ISD::RSQRT14, 0),430    X86_INTRINSIC_DATA(avx10_mask_rsqrt_bf16_256, INTR_TYPE_1OP_MASK,431                       X86ISD::RSQRT14, 0),432    X86_INTRINSIC_DATA(avx10_mask_rsqrt_bf16_512, INTR_TYPE_1OP_MASK,433                       X86ISD::RSQRT14, 0),434    X86_INTRINSIC_DATA(avx10_mask_scalef_bf16_128, INTR_TYPE_2OP_MASK,435                       X86ISD::SCALEF, 0),436    X86_INTRINSIC_DATA(avx10_mask_scalef_bf16_256, INTR_TYPE_2OP_MASK,437                       X86ISD::SCALEF, 0),438    X86_INTRINSIC_DATA(avx10_mask_scalef_bf16_512, INTR_TYPE_2OP_MASK,439                       X86ISD::SCALEF, 0),440    X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_128, INTR_TYPE_2OP_MASK,441                       X86ISD::VFPROUND2, 0),442    X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_256, INTR_TYPE_2OP_MASK,443                       X86ISD::VFPROUND2, 0),444    X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_512, INTR_TYPE_2OP_MASK,445                       X86ISD::VFPROUND2, X86ISD::VFPROUND2_RND),446    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8128, TRUNCATE2_TO_REG,447                       X86ISD::VCVTBIASPH2BF8, X86ISD::VMCVTBIASPH2BF8),448    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8256, INTR_TYPE_2OP_MASK,449                       X86ISD::VCVTBIASPH2BF8, 0),450    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8512, INTR_TYPE_2OP_MASK,451                       X86ISD::VCVTBIASPH2BF8, 0),452    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8s128, TRUNCATE2_TO_REG,453                       X86ISD::VCVTBIASPH2BF8S, X86ISD::VMCVTBIASPH2BF8S),454    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8s256, INTR_TYPE_2OP_MASK,455                       X86ISD::VCVTBIASPH2BF8S, 0),456    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8s512, INTR_TYPE_2OP_MASK,457                       X86ISD::VCVTBIASPH2BF8S, 0),458    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8128, TRUNCATE2_TO_REG,459                       X86ISD::VCVTBIASPH2HF8, X86ISD::VMCVTBIASPH2HF8),460    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8256, INTR_TYPE_2OP_MASK,461                       X86ISD::VCVTBIASPH2HF8, 0),462    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8512, INTR_TYPE_2OP_MASK,463                       X86ISD::VCVTBIASPH2HF8, 0),464    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8s128, TRUNCATE2_TO_REG,465                       X86ISD::VCVTBIASPH2HF8S, X86ISD::VMCVTBIASPH2HF8S),466    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8s256, INTR_TYPE_2OP_MASK,467                       X86ISD::VCVTBIASPH2HF8S, 0),468    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8s512, INTR_TYPE_2OP_MASK,469                       X86ISD::VCVTBIASPH2HF8S, 0),470    X86_INTRINSIC_DATA(avx10_mask_vcvthf82ph128, INTR_TYPE_1OP_MASK,471                       X86ISD::VCVTHF82PH, 0),472    X86_INTRINSIC_DATA(avx10_mask_vcvthf82ph256, INTR_TYPE_1OP_MASK,473                       X86ISD::VCVTHF82PH, 0),474    X86_INTRINSIC_DATA(avx10_mask_vcvthf82ph512, INTR_TYPE_1OP_MASK,475                       X86ISD::VCVTHF82PH, 0),476    X86_INTRINSIC_DATA(avx10_mask_vcvtph2bf8128, TRUNCATE_TO_REG,477                       X86ISD::VCVTPH2BF8, X86ISD::VMCVTPH2BF8),478    X86_INTRINSIC_DATA(avx10_mask_vcvtph2bf8256, INTR_TYPE_1OP_MASK,479                       X86ISD::VCVTPH2BF8, 0),480    X86_INTRINSIC_DATA(avx10_mask_vcvtph2bf8512, INTR_TYPE_1OP_MASK,481                       X86ISD::VCVTPH2BF8, 0),482    X86_INTRINSIC_DATA(avx10_mask_vcvtph2bf8s128, TRUNCATE_TO_REG,483                       X86ISD::VCVTPH2BF8S, X86ISD::VMCVTPH2BF8S),484    X86_INTRINSIC_DATA(avx10_mask_vcvtph2bf8s256, INTR_TYPE_1OP_MASK,485                       X86ISD::VCVTPH2BF8S, 0),486    X86_INTRINSIC_DATA(avx10_mask_vcvtph2bf8s512, INTR_TYPE_1OP_MASK,487                       X86ISD::VCVTPH2BF8S, 0),488    X86_INTRINSIC_DATA(avx10_mask_vcvtph2hf8128, TRUNCATE_TO_REG,489                       X86ISD::VCVTPH2HF8, X86ISD::VMCVTPH2HF8),490    X86_INTRINSIC_DATA(avx10_mask_vcvtph2hf8256, INTR_TYPE_1OP_MASK,491                       X86ISD::VCVTPH2HF8, 0),492    X86_INTRINSIC_DATA(avx10_mask_vcvtph2hf8512, INTR_TYPE_1OP_MASK,493                       X86ISD::VCVTPH2HF8, 0),494    X86_INTRINSIC_DATA(avx10_mask_vcvtph2hf8s128, TRUNCATE_TO_REG,495                       X86ISD::VCVTPH2HF8S, X86ISD::VMCVTPH2HF8S),496    X86_INTRINSIC_DATA(avx10_mask_vcvtph2hf8s256, INTR_TYPE_1OP_MASK,497                       X86ISD::VCVTPH2HF8S, 0),498    X86_INTRINSIC_DATA(avx10_mask_vcvtph2hf8s512, INTR_TYPE_1OP_MASK,499                       X86ISD::VCVTPH2HF8S, 0),500    X86_INTRINSIC_DATA(avx10_mask_vcvtph2ibs128, INTR_TYPE_1OP_MASK,501                       X86ISD::CVTP2IBS, 0),502    X86_INTRINSIC_DATA(avx10_mask_vcvtph2ibs256, INTR_TYPE_1OP_MASK,503                       X86ISD::CVTP2IBS, 0),504    X86_INTRINSIC_DATA(avx10_mask_vcvtph2ibs512, INTR_TYPE_1OP_MASK,505                       X86ISD::CVTP2IBS, X86ISD::CVTP2IBS_RND),506    X86_INTRINSIC_DATA(avx10_mask_vcvtph2iubs128, INTR_TYPE_1OP_MASK,507                       X86ISD::CVTP2IUBS, 0),508    X86_INTRINSIC_DATA(avx10_mask_vcvtph2iubs256, INTR_TYPE_1OP_MASK,509                       X86ISD::CVTP2IUBS, 0),510    X86_INTRINSIC_DATA(avx10_mask_vcvtph2iubs512, INTR_TYPE_1OP_MASK,511                       X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),512    X86_INTRINSIC_DATA(avx10_mask_vcvtps2ibs128, INTR_TYPE_1OP_MASK,513                       X86ISD::CVTP2IBS, 0),514    X86_INTRINSIC_DATA(avx10_mask_vcvtps2ibs256, INTR_TYPE_1OP_MASK,515                       X86ISD::CVTP2IBS, 0),516    X86_INTRINSIC_DATA(avx10_mask_vcvtps2ibs512, INTR_TYPE_1OP_MASK,517                       X86ISD::CVTP2IBS, X86ISD::CVTP2IBS_RND),518    X86_INTRINSIC_DATA(avx10_mask_vcvtps2iubs128, INTR_TYPE_1OP_MASK,519                       X86ISD::CVTP2IUBS, 0),520    X86_INTRINSIC_DATA(avx10_mask_vcvtps2iubs256, INTR_TYPE_1OP_MASK,521                       X86ISD::CVTP2IUBS, 0),522    X86_INTRINSIC_DATA(avx10_mask_vcvtps2iubs512, INTR_TYPE_1OP_MASK,523                       X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),524    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_128, CVTPD2DQ_MASK,525                       X86ISD::CVTTP2SIS, X86ISD::MCVTTP2SIS),526    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_256, INTR_TYPE_1OP_MASK,527                       X86ISD::CVTTP2SIS, 0),528    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_round_512, INTR_TYPE_1OP_MASK,529                       X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),530    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_128, INTR_TYPE_1OP_MASK,531                       X86ISD::CVTTP2SIS, 0),532    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_256, INTR_TYPE_1OP_MASK,533                       X86ISD::CVTTP2SIS, 0),534    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_round_512, INTR_TYPE_1OP_MASK,535                       X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),536    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_128, CVTPD2DQ_MASK,537                       X86ISD::CVTTP2UIS, X86ISD::MCVTTP2SIS),538    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_256, INTR_TYPE_1OP_MASK,539                       X86ISD::CVTTP2UIS, 0),540    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_round_512, INTR_TYPE_1OP_MASK,541                       X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),542    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_128, INTR_TYPE_1OP_MASK,543                       X86ISD::CVTTP2UIS, 0),544    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_256, INTR_TYPE_1OP_MASK,545                       X86ISD::CVTTP2UIS, 0),546    X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_round_512, INTR_TYPE_1OP_MASK,547                       X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),548    X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs128, INTR_TYPE_1OP_MASK,549                       X86ISD::CVTTP2IBS, 0),550    X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs256, INTR_TYPE_1OP_MASK,551                       X86ISD::CVTTP2IBS, 0),552    X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs512, INTR_TYPE_1OP_MASK_SAE,553                       X86ISD::CVTTP2IBS, X86ISD::CVTTP2IBS_SAE),554    X86_INTRINSIC_DATA(avx10_mask_vcvttph2iubs128, INTR_TYPE_1OP_MASK,555                       X86ISD::CVTTP2IUBS, 0),556    X86_INTRINSIC_DATA(avx10_mask_vcvttph2iubs256, INTR_TYPE_1OP_MASK,557                       X86ISD::CVTTP2IUBS, 0),558    X86_INTRINSIC_DATA(avx10_mask_vcvttph2iubs512, INTR_TYPE_1OP_MASK_SAE,559                       X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),560    X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_128, INTR_TYPE_1OP_MASK,561                       X86ISD::CVTTP2SIS, 0),562    X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_256, INTR_TYPE_1OP_MASK,563                       X86ISD::CVTTP2SIS, 0),564    X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_round_512, INTR_TYPE_1OP_MASK,565                       X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),566    X86_INTRINSIC_DATA(avx10_mask_vcvttps2ibs128, INTR_TYPE_1OP_MASK,567                       X86ISD::CVTTP2IBS, 0),568    X86_INTRINSIC_DATA(avx10_mask_vcvttps2ibs256, INTR_TYPE_1OP_MASK,569                       X86ISD::CVTTP2IBS, 0),570    X86_INTRINSIC_DATA(avx10_mask_vcvttps2ibs512, INTR_TYPE_1OP_MASK,571                       X86ISD::CVTTP2IBS, X86ISD::CVTTP2IBS_SAE),572    X86_INTRINSIC_DATA(avx10_mask_vcvttps2iubs128, INTR_TYPE_1OP_MASK,573                       X86ISD::CVTTP2IUBS, 0),574    X86_INTRINSIC_DATA(avx10_mask_vcvttps2iubs256, INTR_TYPE_1OP_MASK,575                       X86ISD::CVTTP2IUBS, 0),576    X86_INTRINSIC_DATA(avx10_mask_vcvttps2iubs512, INTR_TYPE_1OP_MASK_SAE,577                       X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),578    X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_128, INTR_TYPE_1OP_MASK,579                       X86ISD::CVTTP2SIS, 0),580    X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_256, INTR_TYPE_1OP_MASK,581                       X86ISD::CVTTP2SIS, 0),582    X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_round_512, INTR_TYPE_1OP_MASK,583                       X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),584    X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_128, INTR_TYPE_1OP_MASK,585                       X86ISD::CVTTP2UIS, 0),586    X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_256, INTR_TYPE_1OP_MASK,587                       X86ISD::CVTTP2UIS, 0),588    X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_round_512, INTR_TYPE_1OP_MASK,589                       X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),590    X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_128, INTR_TYPE_1OP_MASK,591                       X86ISD::CVTTP2UIS, 0),592    X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_256, INTR_TYPE_1OP_MASK,593                       X86ISD::CVTTP2UIS, 0),594    X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_round_512, INTR_TYPE_1OP_MASK,595                       X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),596    X86_INTRINSIC_DATA(avx10_mask_vminmaxpd_round, INTR_TYPE_3OP_MASK_SAE,597                       X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),598    X86_INTRINSIC_DATA(avx10_mask_vminmaxpd128, INTR_TYPE_3OP_MASK_SAE,599                       X86ISD::VMINMAX, 0),600    X86_INTRINSIC_DATA(avx10_mask_vminmaxpd256, INTR_TYPE_3OP_MASK_SAE,601                       X86ISD::VMINMAX, 0),602    X86_INTRINSIC_DATA(avx10_mask_vminmaxph_round, INTR_TYPE_3OP_MASK_SAE,603                       X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),604    X86_INTRINSIC_DATA(avx10_mask_vminmaxph128, INTR_TYPE_3OP_MASK_SAE,605                       X86ISD::VMINMAX, 0),606    X86_INTRINSIC_DATA(avx10_mask_vminmaxph256, INTR_TYPE_3OP_MASK_SAE,607                       X86ISD::VMINMAX, 0),608    X86_INTRINSIC_DATA(avx10_mask_vminmaxps_round, INTR_TYPE_3OP_MASK_SAE,609                       X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),610    X86_INTRINSIC_DATA(avx10_mask_vminmaxps128, INTR_TYPE_3OP_MASK_SAE,611                       X86ISD::VMINMAX, 0),612    X86_INTRINSIC_DATA(avx10_mask_vminmaxps256, INTR_TYPE_3OP_MASK_SAE,613                       X86ISD::VMINMAX, 0),614    X86_INTRINSIC_DATA(avx10_mask_vminmaxsd_round, INTR_TYPE_3OP_MASK_SAE,615                       X86ISD::VMINMAXS, X86ISD::VMINMAXS_SAE),616    X86_INTRINSIC_DATA(avx10_mask_vminmaxsh_round, INTR_TYPE_3OP_MASK_SAE,617                       X86ISD::VMINMAXS, X86ISD::VMINMAXS_SAE),618    X86_INTRINSIC_DATA(avx10_mask_vminmaxss_round, INTR_TYPE_3OP_MASK_SAE,619                       X86ISD::VMINMAXS, X86ISD::VMINMAXS_SAE),620    X86_INTRINSIC_DATA(avx10_vcomisbf16eq, COMI, X86ISD::COMI, ISD::SETEQ),621    X86_INTRINSIC_DATA(avx10_vcomisbf16ge, COMI, X86ISD::COMI, ISD::SETGE),622    X86_INTRINSIC_DATA(avx10_vcomisbf16gt, COMI, X86ISD::COMI, ISD::SETGT),623    X86_INTRINSIC_DATA(avx10_vcomisbf16le, COMI, X86ISD::COMI, ISD::SETLE),624    X86_INTRINSIC_DATA(avx10_vcomisbf16lt, COMI, X86ISD::COMI, ISD::SETLT),625    X86_INTRINSIC_DATA(avx10_vcomisbf16neq, COMI, X86ISD::COMI, ISD::SETNE),626    X86_INTRINSIC_DATA(avx10_vcvt2ph2bf8128, INTR_TYPE_2OP, X86ISD::VCVT2PH2BF8,627                       0),628    X86_INTRINSIC_DATA(avx10_vcvt2ph2bf8256, INTR_TYPE_2OP, X86ISD::VCVT2PH2BF8,629                       0),630    X86_INTRINSIC_DATA(avx10_vcvt2ph2bf8512, INTR_TYPE_2OP, X86ISD::VCVT2PH2BF8,631                       0),632    X86_INTRINSIC_DATA(avx10_vcvt2ph2bf8s128, INTR_TYPE_2OP,633                       X86ISD::VCVT2PH2BF8S, 0),634    X86_INTRINSIC_DATA(avx10_vcvt2ph2bf8s256, INTR_TYPE_2OP,635                       X86ISD::VCVT2PH2BF8S, 0),636    X86_INTRINSIC_DATA(avx10_vcvt2ph2bf8s512, INTR_TYPE_2OP,637                       X86ISD::VCVT2PH2BF8S, 0),638    X86_INTRINSIC_DATA(avx10_vcvt2ph2hf8128, INTR_TYPE_2OP, X86ISD::VCVT2PH2HF8,639                       0),640    X86_INTRINSIC_DATA(avx10_vcvt2ph2hf8256, INTR_TYPE_2OP, X86ISD::VCVT2PH2HF8,641                       0),642    X86_INTRINSIC_DATA(avx10_vcvt2ph2hf8512, INTR_TYPE_2OP, X86ISD::VCVT2PH2HF8,643                       0),644    X86_INTRINSIC_DATA(avx10_vcvt2ph2hf8s128, INTR_TYPE_2OP,645                       X86ISD::VCVT2PH2HF8S, 0),646    X86_INTRINSIC_DATA(avx10_vcvt2ph2hf8s256, INTR_TYPE_2OP,647                       X86ISD::VCVT2PH2HF8S, 0),648    X86_INTRINSIC_DATA(avx10_vcvt2ph2hf8s512, INTR_TYPE_2OP,649                       X86ISD::VCVT2PH2HF8S, 0),650    X86_INTRINSIC_DATA(avx10_vcvtbf162ibs128, INTR_TYPE_1OP, X86ISD::CVTP2IBS,651                       0),652    X86_INTRINSIC_DATA(avx10_vcvtbf162ibs256, INTR_TYPE_1OP, X86ISD::CVTP2IBS,653                       0),654    X86_INTRINSIC_DATA(avx10_vcvtbf162ibs512, INTR_TYPE_1OP, X86ISD::CVTP2IBS,655                       0),656    X86_INTRINSIC_DATA(avx10_vcvtbf162iubs128, INTR_TYPE_1OP, X86ISD::CVTP2IUBS,657                       0),658    X86_INTRINSIC_DATA(avx10_vcvtbf162iubs256, INTR_TYPE_1OP, X86ISD::CVTP2IUBS,659                       0),660    X86_INTRINSIC_DATA(avx10_vcvtbf162iubs512, INTR_TYPE_1OP, X86ISD::CVTP2IUBS,661                       0),662    X86_INTRINSIC_DATA(avx10_vcvttbf162ibs128, INTR_TYPE_1OP, X86ISD::CVTTP2IBS,663                       0),664    X86_INTRINSIC_DATA(avx10_vcvttbf162ibs256, INTR_TYPE_1OP, X86ISD::CVTTP2IBS,665                       0),666    X86_INTRINSIC_DATA(avx10_vcvttbf162ibs512, INTR_TYPE_1OP, X86ISD::CVTTP2IBS,667                       0),668    X86_INTRINSIC_DATA(avx10_vcvttbf162iubs128, INTR_TYPE_1OP,669                       X86ISD::CVTTP2IUBS, 0),670    X86_INTRINSIC_DATA(avx10_vcvttbf162iubs256, INTR_TYPE_1OP,671                       X86ISD::CVTTP2IUBS, 0),672    X86_INTRINSIC_DATA(avx10_vcvttbf162iubs512, INTR_TYPE_1OP,673                       X86ISD::CVTTP2IUBS, 0),674    X86_INTRINSIC_DATA(avx10_vcvttsd2sis, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2SIS,675                       X86ISD::CVTTS2SIS_SAE),676    X86_INTRINSIC_DATA(avx10_vcvttsd2sis64, INTR_TYPE_1OP_SAE,677                       X86ISD::CVTTS2SIS, X86ISD::CVTTS2SIS_SAE),678    X86_INTRINSIC_DATA(avx10_vcvttsd2usis, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2UIS,679                       X86ISD::CVTTS2UIS_SAE),680    X86_INTRINSIC_DATA(avx10_vcvttsd2usis64, INTR_TYPE_1OP_SAE,681                       X86ISD::CVTTS2UIS, X86ISD::CVTTS2UIS_SAE),682    X86_INTRINSIC_DATA(avx10_vcvttss2sis, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2SIS,683                       X86ISD::CVTTS2SIS_SAE),684    X86_INTRINSIC_DATA(avx10_vcvttss2sis64, INTR_TYPE_1OP_SAE,685                       X86ISD::CVTTS2SIS, X86ISD::CVTTS2SIS_SAE),686    X86_INTRINSIC_DATA(avx10_vcvttss2usis, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2UIS,687                       X86ISD::CVTTS2UIS_SAE),688    X86_INTRINSIC_DATA(avx10_vcvttss2usis64, INTR_TYPE_1OP_SAE,689                       X86ISD::CVTTS2UIS, X86ISD::CVTTS2UIS_SAE),690    X86_INTRINSIC_DATA(avx10_vdpphps_128, INTR_TYPE_3OP, X86ISD::DPFP16PS, 0),691    X86_INTRINSIC_DATA(avx10_vdpphps_256, INTR_TYPE_3OP, X86ISD::DPFP16PS, 0),692    X86_INTRINSIC_DATA(avx10_vdpphps_512, INTR_TYPE_3OP, X86ISD::DPFP16PS, 0),693    X86_INTRINSIC_DATA(avx10_vminmaxbf16128, INTR_TYPE_3OP, X86ISD::VMINMAX, 0),694    X86_INTRINSIC_DATA(avx10_vminmaxbf16256, INTR_TYPE_3OP, X86ISD::VMINMAX, 0),695    X86_INTRINSIC_DATA(avx10_vminmaxbf16512, INTR_TYPE_3OP, X86ISD::VMINMAX, 0),696    X86_INTRINSIC_DATA(avx10_vmpsadbw_512, INTR_TYPE_3OP_IMM8, X86ISD::MPSADBW,697                       0),698    X86_INTRINSIC_DATA(avx10_vpdpbssd_512, INTR_TYPE_3OP, X86ISD::VPDPBSSD, 0),699    X86_INTRINSIC_DATA(avx10_vpdpbssds_512, INTR_TYPE_3OP, X86ISD::VPDPBSSDS,700                       0),701    X86_INTRINSIC_DATA(avx10_vpdpbsud_512, INTR_TYPE_3OP, X86ISD::VPDPBSUD, 0),702    X86_INTRINSIC_DATA(avx10_vpdpbsuds_512, INTR_TYPE_3OP, X86ISD::VPDPBSUDS,703                       0),704    X86_INTRINSIC_DATA(avx10_vpdpbuud_512, INTR_TYPE_3OP, X86ISD::VPDPBUUD, 0),705    X86_INTRINSIC_DATA(avx10_vpdpbuuds_512, INTR_TYPE_3OP, X86ISD::VPDPBUUDS,706                       0),707    X86_INTRINSIC_DATA(avx10_vpdpwsud_512, INTR_TYPE_3OP, X86ISD::VPDPWSUD, 0),708    X86_INTRINSIC_DATA(avx10_vpdpwsuds_512, INTR_TYPE_3OP, X86ISD::VPDPWSUDS,709                       0),710    X86_INTRINSIC_DATA(avx10_vpdpwusd_512, INTR_TYPE_3OP, X86ISD::VPDPWUSD, 0),711    X86_INTRINSIC_DATA(avx10_vpdpwusds_512, INTR_TYPE_3OP, X86ISD::VPDPWUSDS,712                       0),713    X86_INTRINSIC_DATA(avx10_vpdpwuud_512, INTR_TYPE_3OP, X86ISD::VPDPWUUD, 0),714    X86_INTRINSIC_DATA(avx10_vpdpwuuds_512, INTR_TYPE_3OP, X86ISD::VPDPWUUDS,715                       0),716    X86_INTRINSIC_DATA(avx2_mpsadbw, INTR_TYPE_3OP_IMM8, X86ISD::MPSADBW, 0),717    X86_INTRINSIC_DATA(avx2_packssdw, INTR_TYPE_2OP, X86ISD::PACKSS, 0),718    X86_INTRINSIC_DATA(avx2_packsswb, INTR_TYPE_2OP, X86ISD::PACKSS, 0),719    X86_INTRINSIC_DATA(avx2_packusdw, INTR_TYPE_2OP, X86ISD::PACKUS, 0),720    X86_INTRINSIC_DATA(avx2_packuswb, INTR_TYPE_2OP, X86ISD::PACKUS, 0),721    X86_INTRINSIC_DATA(avx2_pavg_b, INTR_TYPE_2OP, ISD::AVGCEILU, 0),722    X86_INTRINSIC_DATA(avx2_pavg_w, INTR_TYPE_2OP, ISD::AVGCEILU, 0),723    X86_INTRINSIC_DATA(avx2_pblendvb, BLENDV, X86ISD::BLENDV, 0),724    X86_INTRINSIC_DATA(avx2_permd, VPERM_2OP, X86ISD::VPERMV, 0),725    X86_INTRINSIC_DATA(avx2_permps, VPERM_2OP, X86ISD::VPERMV, 0),726    X86_INTRINSIC_DATA(avx2_phadd_d, INTR_TYPE_2OP, X86ISD::HADD, 0),727    X86_INTRINSIC_DATA(avx2_phadd_sw, INTR_TYPE_2OP, X86ISD::HADDS, 0),728    X86_INTRINSIC_DATA(avx2_phadd_w, INTR_TYPE_2OP, X86ISD::HADD, 0),729    X86_INTRINSIC_DATA(avx2_phsub_d, INTR_TYPE_2OP, X86ISD::HSUB, 0),730    X86_INTRINSIC_DATA(avx2_phsub_sw, INTR_TYPE_2OP, X86ISD::HSUBS, 0),731    X86_INTRINSIC_DATA(avx2_phsub_w, INTR_TYPE_2OP, X86ISD::HSUB, 0),732    X86_INTRINSIC_DATA(avx2_pmadd_ub_sw, INTR_TYPE_2OP, X86ISD::VPMADDUBSW, 0),733    X86_INTRINSIC_DATA(avx2_pmadd_wd, INTR_TYPE_2OP, X86ISD::VPMADDWD, 0),734    X86_INTRINSIC_DATA(avx2_pmovmskb, INTR_TYPE_1OP, X86ISD::MOVMSK, 0),735    X86_INTRINSIC_DATA(avx2_pmul_hr_sw, INTR_TYPE_2OP, X86ISD::MULHRS, 0),736    X86_INTRINSIC_DATA(avx2_pmulh_w, INTR_TYPE_2OP, ISD::MULHS, 0),737    X86_INTRINSIC_DATA(avx2_pmulhu_w, INTR_TYPE_2OP, ISD::MULHU, 0),738    X86_INTRINSIC_DATA(avx2_psad_bw, INTR_TYPE_2OP, X86ISD::PSADBW, 0),739    X86_INTRINSIC_DATA(avx2_pshuf_b, INTR_TYPE_2OP, X86ISD::PSHUFB, 0),740    X86_INTRINSIC_DATA(avx2_psll_d, INTR_TYPE_2OP, X86ISD::VSHL, 0),741    X86_INTRINSIC_DATA(avx2_psll_q, INTR_TYPE_2OP, X86ISD::VSHL, 0),742    X86_INTRINSIC_DATA(avx2_psll_w, INTR_TYPE_2OP, X86ISD::VSHL, 0),743    X86_INTRINSIC_DATA(avx2_pslli_d, VSHIFT, X86ISD::VSHLI, 0),744    X86_INTRINSIC_DATA(avx2_pslli_q, VSHIFT, X86ISD::VSHLI, 0),745    X86_INTRINSIC_DATA(avx2_pslli_w, VSHIFT, X86ISD::VSHLI, 0),746    X86_INTRINSIC_DATA(avx2_psllv_d, INTR_TYPE_2OP, X86ISD::VSHLV, 0),747    X86_INTRINSIC_DATA(avx2_psllv_d_256, INTR_TYPE_2OP, X86ISD::VSHLV, 0),748    X86_INTRINSIC_DATA(avx2_psllv_q, INTR_TYPE_2OP, X86ISD::VSHLV, 0),749    X86_INTRINSIC_DATA(avx2_psllv_q_256, INTR_TYPE_2OP, X86ISD::VSHLV, 0),750    X86_INTRINSIC_DATA(avx2_psra_d, INTR_TYPE_2OP, X86ISD::VSRA, 0),751    X86_INTRINSIC_DATA(avx2_psra_w, INTR_TYPE_2OP, X86ISD::VSRA, 0),752    X86_INTRINSIC_DATA(avx2_psrai_d, VSHIFT, X86ISD::VSRAI, 0),753    X86_INTRINSIC_DATA(avx2_psrai_w, VSHIFT, X86ISD::VSRAI, 0),754    X86_INTRINSIC_DATA(avx2_psrav_d, INTR_TYPE_2OP, X86ISD::VSRAV, 0),755    X86_INTRINSIC_DATA(avx2_psrav_d_256, INTR_TYPE_2OP, X86ISD::VSRAV, 0),756    X86_INTRINSIC_DATA(avx2_psrl_d, INTR_TYPE_2OP, X86ISD::VSRL, 0),757    X86_INTRINSIC_DATA(avx2_psrl_q, INTR_TYPE_2OP, X86ISD::VSRL, 0),758    X86_INTRINSIC_DATA(avx2_psrl_w, INTR_TYPE_2OP, X86ISD::VSRL, 0),759    X86_INTRINSIC_DATA(avx2_psrli_d, VSHIFT, X86ISD::VSRLI, 0),760    X86_INTRINSIC_DATA(avx2_psrli_q, VSHIFT, X86ISD::VSRLI, 0),761    X86_INTRINSIC_DATA(avx2_psrli_w, VSHIFT, X86ISD::VSRLI, 0),762    X86_INTRINSIC_DATA(avx2_psrlv_d, INTR_TYPE_2OP, X86ISD::VSRLV, 0),763    X86_INTRINSIC_DATA(avx2_psrlv_d_256, INTR_TYPE_2OP, X86ISD::VSRLV, 0),764    X86_INTRINSIC_DATA(avx2_psrlv_q, INTR_TYPE_2OP, X86ISD::VSRLV, 0),765    X86_INTRINSIC_DATA(avx2_psrlv_q_256, INTR_TYPE_2OP, X86ISD::VSRLV, 0),766    X86_INTRINSIC_DATA(avx2_vpdpbssd_128, INTR_TYPE_3OP, X86ISD::VPDPBSSD, 0),767    X86_INTRINSIC_DATA(avx2_vpdpbssd_256, INTR_TYPE_3OP, X86ISD::VPDPBSSD, 0),768    X86_INTRINSIC_DATA(avx2_vpdpbssds_128, INTR_TYPE_3OP, X86ISD::VPDPBSSDS, 0),769    X86_INTRINSIC_DATA(avx2_vpdpbssds_256, INTR_TYPE_3OP, X86ISD::VPDPBSSDS, 0),770    X86_INTRINSIC_DATA(avx2_vpdpbsud_128, INTR_TYPE_3OP, X86ISD::VPDPBSUD, 0),771    X86_INTRINSIC_DATA(avx2_vpdpbsud_256, INTR_TYPE_3OP, X86ISD::VPDPBSUD, 0),772    X86_INTRINSIC_DATA(avx2_vpdpbsuds_128, INTR_TYPE_3OP, X86ISD::VPDPBSUDS, 0),773    X86_INTRINSIC_DATA(avx2_vpdpbsuds_256, INTR_TYPE_3OP, X86ISD::VPDPBSUDS, 0),774    X86_INTRINSIC_DATA(avx2_vpdpbuud_128, INTR_TYPE_3OP, X86ISD::VPDPBUUD, 0),775    X86_INTRINSIC_DATA(avx2_vpdpbuud_256, INTR_TYPE_3OP, X86ISD::VPDPBUUD, 0),776    X86_INTRINSIC_DATA(avx2_vpdpbuuds_128, INTR_TYPE_3OP, X86ISD::VPDPBUUDS, 0),777    X86_INTRINSIC_DATA(avx2_vpdpbuuds_256, INTR_TYPE_3OP, X86ISD::VPDPBUUDS, 0),778    X86_INTRINSIC_DATA(avx2_vpdpwsud_128, INTR_TYPE_3OP, X86ISD::VPDPWSUD, 0),779    X86_INTRINSIC_DATA(avx2_vpdpwsud_256, INTR_TYPE_3OP, X86ISD::VPDPWSUD, 0),780    X86_INTRINSIC_DATA(avx2_vpdpwsuds_128, INTR_TYPE_3OP, X86ISD::VPDPWSUDS, 0),781    X86_INTRINSIC_DATA(avx2_vpdpwsuds_256, INTR_TYPE_3OP, X86ISD::VPDPWSUDS, 0),782    X86_INTRINSIC_DATA(avx2_vpdpwusd_128, INTR_TYPE_3OP, X86ISD::VPDPWUSD, 0),783    X86_INTRINSIC_DATA(avx2_vpdpwusd_256, INTR_TYPE_3OP, X86ISD::VPDPWUSD, 0),784    X86_INTRINSIC_DATA(avx2_vpdpwusds_128, INTR_TYPE_3OP, X86ISD::VPDPWUSDS, 0),785    X86_INTRINSIC_DATA(avx2_vpdpwusds_256, INTR_TYPE_3OP, X86ISD::VPDPWUSDS, 0),786    X86_INTRINSIC_DATA(avx2_vpdpwuud_128, INTR_TYPE_3OP, X86ISD::VPDPWUUD, 0),787    X86_INTRINSIC_DATA(avx2_vpdpwuud_256, INTR_TYPE_3OP, X86ISD::VPDPWUUD, 0),788    X86_INTRINSIC_DATA(avx2_vpdpwuuds_128, INTR_TYPE_3OP, X86ISD::VPDPWUUDS, 0),789    X86_INTRINSIC_DATA(avx2_vpdpwuuds_256, INTR_TYPE_3OP, X86ISD::VPDPWUUDS, 0),790    X86_INTRINSIC_DATA(avx512_add_pd_512, INTR_TYPE_2OP, ISD::FADD,791                       X86ISD::FADD_RND),792    X86_INTRINSIC_DATA(avx512_add_ps_512, INTR_TYPE_2OP, ISD::FADD,793                       X86ISD::FADD_RND),794    X86_INTRINSIC_DATA(avx512_conflict_d_128, INTR_TYPE_1OP, X86ISD::CONFLICT,795                       0),796    X86_INTRINSIC_DATA(avx512_conflict_d_256, INTR_TYPE_1OP, X86ISD::CONFLICT,797                       0),798    X86_INTRINSIC_DATA(avx512_conflict_d_512, INTR_TYPE_1OP, X86ISD::CONFLICT,799                       0),800    X86_INTRINSIC_DATA(avx512_conflict_q_128, INTR_TYPE_1OP, X86ISD::CONFLICT,801                       0),802    X86_INTRINSIC_DATA(avx512_conflict_q_256, INTR_TYPE_1OP, X86ISD::CONFLICT,803                       0),804    X86_INTRINSIC_DATA(avx512_conflict_q_512, INTR_TYPE_1OP, X86ISD::CONFLICT,805                       0),806    X86_INTRINSIC_DATA(avx512_cvtsi2sd64, INTR_TYPE_2OP,807                       X86ISD::SCALAR_SINT_TO_FP,808                       X86ISD::SCALAR_SINT_TO_FP_RND),809    X86_INTRINSIC_DATA(avx512_cvtsi2ss32, INTR_TYPE_2OP,810                       X86ISD::SCALAR_SINT_TO_FP,811                       X86ISD::SCALAR_SINT_TO_FP_RND),812    X86_INTRINSIC_DATA(avx512_cvtsi2ss64, INTR_TYPE_2OP,813                       X86ISD::SCALAR_SINT_TO_FP,814                       X86ISD::SCALAR_SINT_TO_FP_RND),815    X86_INTRINSIC_DATA(avx512_cvttsd2si, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2SI,816                       X86ISD::CVTTS2SI_SAE),817    X86_INTRINSIC_DATA(avx512_cvttsd2si64, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2SI,818                       X86ISD::CVTTS2SI_SAE),819    X86_INTRINSIC_DATA(avx512_cvttsd2usi, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2UI,820                       X86ISD::CVTTS2UI_SAE),821    X86_INTRINSIC_DATA(avx512_cvttsd2usi64, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2UI,822                       X86ISD::CVTTS2UI_SAE),823    X86_INTRINSIC_DATA(avx512_cvttss2si, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2SI,824                       X86ISD::CVTTS2SI_SAE),825    X86_INTRINSIC_DATA(avx512_cvttss2si64, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2SI,826                       X86ISD::CVTTS2SI_SAE),827    X86_INTRINSIC_DATA(avx512_cvttss2usi, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2UI,828                       X86ISD::CVTTS2UI_SAE),829    X86_INTRINSIC_DATA(avx512_cvttss2usi64, INTR_TYPE_1OP_SAE, X86ISD::CVTTS2UI,830                       X86ISD::CVTTS2UI_SAE),831    X86_INTRINSIC_DATA(avx512_cvtusi2ss, INTR_TYPE_2OP,832                       X86ISD::SCALAR_UINT_TO_FP,833                       X86ISD::SCALAR_UINT_TO_FP_RND),834    X86_INTRINSIC_DATA(avx512_cvtusi642sd, INTR_TYPE_2OP,835                       X86ISD::SCALAR_UINT_TO_FP,836                       X86ISD::SCALAR_UINT_TO_FP_RND),837    X86_INTRINSIC_DATA(avx512_cvtusi642ss, INTR_TYPE_2OP,838                       X86ISD::SCALAR_UINT_TO_FP,839                       X86ISD::SCALAR_UINT_TO_FP_RND),840    X86_INTRINSIC_DATA(avx512_dbpsadbw_128, INTR_TYPE_3OP_IMM8,841                       X86ISD::DBPSADBW, 0),842    X86_INTRINSIC_DATA(avx512_dbpsadbw_256, INTR_TYPE_3OP_IMM8,843                       X86ISD::DBPSADBW, 0),844    X86_INTRINSIC_DATA(avx512_dbpsadbw_512, INTR_TYPE_3OP_IMM8,845                       X86ISD::DBPSADBW, 0),846    X86_INTRINSIC_DATA(avx512_div_pd_512, INTR_TYPE_2OP, ISD::FDIV,847                       X86ISD::FDIV_RND),848    X86_INTRINSIC_DATA(avx512_div_ps_512, INTR_TYPE_2OP, ISD::FDIV,849                       X86ISD::FDIV_RND),850    X86_INTRINSIC_DATA(avx512_fpclass_pd_128, INTR_TYPE_2OP, X86ISD::VFPCLASS,851                       0),852    X86_INTRINSIC_DATA(avx512_fpclass_pd_256, INTR_TYPE_2OP, X86ISD::VFPCLASS,853                       0),854    X86_INTRINSIC_DATA(avx512_fpclass_pd_512, INTR_TYPE_2OP, X86ISD::VFPCLASS,855                       0),856    X86_INTRINSIC_DATA(avx512_fpclass_ps_128, INTR_TYPE_2OP, X86ISD::VFPCLASS,857                       0),858    X86_INTRINSIC_DATA(avx512_fpclass_ps_256, INTR_TYPE_2OP, X86ISD::VFPCLASS,859                       0),860    X86_INTRINSIC_DATA(avx512_fpclass_ps_512, INTR_TYPE_2OP, X86ISD::VFPCLASS,861                       0),862    X86_INTRINSIC_DATA(avx512_kadd_b, INTR_TYPE_2OP, X86ISD::KADD, 0),863    X86_INTRINSIC_DATA(avx512_kadd_d, INTR_TYPE_2OP, X86ISD::KADD, 0),864    X86_INTRINSIC_DATA(avx512_kadd_q, INTR_TYPE_2OP, X86ISD::KADD, 0),865    X86_INTRINSIC_DATA(avx512_kadd_w, INTR_TYPE_2OP, X86ISD::KADD, 0),866    X86_INTRINSIC_DATA(avx512_mask_add_sd_round, INTR_TYPE_SCALAR_MASK,867                       X86ISD::FADDS, X86ISD::FADDS_RND),868    X86_INTRINSIC_DATA(avx512_mask_add_ss_round, INTR_TYPE_SCALAR_MASK,869                       X86ISD::FADDS, X86ISD::FADDS_RND),870    X86_INTRINSIC_DATA(avx512_mask_cmp_pd_128, CMP_MASK_CC, X86ISD::CMPMM, 0),871    X86_INTRINSIC_DATA(avx512_mask_cmp_pd_256, CMP_MASK_CC, X86ISD::CMPMM, 0),872    X86_INTRINSIC_DATA(avx512_mask_cmp_pd_512, CMP_MASK_CC, X86ISD::CMPMM,873                       X86ISD::CMPMM_SAE),874    X86_INTRINSIC_DATA(avx512_mask_cmp_ps_128, CMP_MASK_CC, X86ISD::CMPMM, 0),875    X86_INTRINSIC_DATA(avx512_mask_cmp_ps_256, CMP_MASK_CC, X86ISD::CMPMM, 0),876    X86_INTRINSIC_DATA(avx512_mask_cmp_ps_512, CMP_MASK_CC, X86ISD::CMPMM,877                       X86ISD::CMPMM_SAE),878    X86_INTRINSIC_DATA(avx512_mask_cmp_sd, CMP_MASK_SCALAR_CC, X86ISD::FSETCCM,879                       X86ISD::FSETCCM_SAE),880    X86_INTRINSIC_DATA(avx512_mask_cmp_ss, CMP_MASK_SCALAR_CC, X86ISD::FSETCCM,881                       X86ISD::FSETCCM_SAE),882 883    X86_INTRINSIC_DATA(avx512_mask_compress, COMPRESS_EXPAND_IN_REG,884                       X86ISD::COMPRESS, 0),885    X86_INTRINSIC_DATA(avx512_mask_cvtpd2dq_128, CVTPD2DQ_MASK, X86ISD::CVTP2SI,886                       X86ISD::MCVTP2SI),887    X86_INTRINSIC_DATA(avx512_mask_cvtpd2dq_512, INTR_TYPE_1OP_MASK,888                       X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),889    X86_INTRINSIC_DATA(avx512_mask_cvtpd2ps, CVTPD2PS_MASK, X86ISD::VFPROUND,890                       X86ISD::VMFPROUND),891    X86_INTRINSIC_DATA(avx512_mask_cvtpd2ps_512, INTR_TYPE_1OP_MASK,892                       X86ISD::VFPROUND, X86ISD::VFPROUND_RND),893    X86_INTRINSIC_DATA(avx512_mask_cvtpd2qq_128, INTR_TYPE_1OP_MASK,894                       X86ISD::CVTP2SI, 0),895    X86_INTRINSIC_DATA(avx512_mask_cvtpd2qq_256, INTR_TYPE_1OP_MASK,896                       X86ISD::CVTP2SI, 0),897    X86_INTRINSIC_DATA(avx512_mask_cvtpd2qq_512, INTR_TYPE_1OP_MASK,898                       X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),899    X86_INTRINSIC_DATA(avx512_mask_cvtpd2udq_128, CVTPD2DQ_MASK,900                       X86ISD::CVTP2UI, X86ISD::MCVTP2UI),901    X86_INTRINSIC_DATA(avx512_mask_cvtpd2udq_256, INTR_TYPE_1OP_MASK,902                       X86ISD::CVTP2UI, 0),903    X86_INTRINSIC_DATA(avx512_mask_cvtpd2udq_512, INTR_TYPE_1OP_MASK,904                       X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),905    X86_INTRINSIC_DATA(avx512_mask_cvtpd2uqq_128, INTR_TYPE_1OP_MASK,906                       X86ISD::CVTP2UI, 0),907    X86_INTRINSIC_DATA(avx512_mask_cvtpd2uqq_256, INTR_TYPE_1OP_MASK,908                       X86ISD::CVTP2UI, 0),909    X86_INTRINSIC_DATA(avx512_mask_cvtpd2uqq_512, INTR_TYPE_1OP_MASK,910                       X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),911    X86_INTRINSIC_DATA(avx512_mask_cvtps2dq_128, INTR_TYPE_1OP_MASK,912                       X86ISD::CVTP2SI, 0),913    X86_INTRINSIC_DATA(avx512_mask_cvtps2dq_256, INTR_TYPE_1OP_MASK,914                       X86ISD::CVTP2SI, 0),915    X86_INTRINSIC_DATA(avx512_mask_cvtps2dq_512, INTR_TYPE_1OP_MASK,916                       X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),917    X86_INTRINSIC_DATA(avx512_mask_cvtps2pd_512, INTR_TYPE_1OP_MASK_SAE,918                       ISD::FP_EXTEND, X86ISD::VFPEXT_SAE),919    X86_INTRINSIC_DATA(avx512_mask_cvtps2qq_128, INTR_TYPE_1OP_MASK,920                       X86ISD::CVTP2SI, 0),921    X86_INTRINSIC_DATA(avx512_mask_cvtps2qq_256, INTR_TYPE_1OP_MASK,922                       X86ISD::CVTP2SI, 0),923    X86_INTRINSIC_DATA(avx512_mask_cvtps2qq_512, INTR_TYPE_1OP_MASK,924                       X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),925    X86_INTRINSIC_DATA(avx512_mask_cvtps2udq_128, INTR_TYPE_1OP_MASK,926                       X86ISD::CVTP2UI, 0),927    X86_INTRINSIC_DATA(avx512_mask_cvtps2udq_256, INTR_TYPE_1OP_MASK,928                       X86ISD::CVTP2UI, 0),929    X86_INTRINSIC_DATA(avx512_mask_cvtps2udq_512, INTR_TYPE_1OP_MASK,930                       X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),931    X86_INTRINSIC_DATA(avx512_mask_cvtps2uqq_128, INTR_TYPE_1OP_MASK,932                       X86ISD::CVTP2UI, 0),933    X86_INTRINSIC_DATA(avx512_mask_cvtps2uqq_256, INTR_TYPE_1OP_MASK,934                       X86ISD::CVTP2UI, 0),935    X86_INTRINSIC_DATA(avx512_mask_cvtps2uqq_512, INTR_TYPE_1OP_MASK,936                       X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),937    X86_INTRINSIC_DATA(avx512_mask_cvtqq2ps_128, CVTQQ2PS_MASK, X86ISD::CVTSI2P,938                       X86ISD::MCVTSI2P),939    X86_INTRINSIC_DATA(avx512_mask_cvtsd2ss_round, INTR_TYPE_SCALAR_MASK_RND,940                       X86ISD::VFPROUNDS, X86ISD::VFPROUNDS_RND),941    X86_INTRINSIC_DATA(avx512_mask_cvtss2sd_round, INTR_TYPE_SCALAR_MASK_SAE,942                       X86ISD::VFPEXTS, X86ISD::VFPEXTS_SAE),943    X86_INTRINSIC_DATA(avx512_mask_cvttpd2dq_128, CVTPD2DQ_MASK,944                       X86ISD::CVTTP2SI, X86ISD::MCVTTP2SI),945    X86_INTRINSIC_DATA(avx512_mask_cvttpd2dq_512, INTR_TYPE_1OP_MASK_SAE,946                       X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),947    X86_INTRINSIC_DATA(avx512_mask_cvttpd2qq_128, INTR_TYPE_1OP_MASK,948                       X86ISD::CVTTP2SI, 0),949    X86_INTRINSIC_DATA(avx512_mask_cvttpd2qq_256, INTR_TYPE_1OP_MASK,950                       X86ISD::CVTTP2SI, 0),951    X86_INTRINSIC_DATA(avx512_mask_cvttpd2qq_512, INTR_TYPE_1OP_MASK_SAE,952                       X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),953    X86_INTRINSIC_DATA(avx512_mask_cvttpd2udq_128, CVTPD2DQ_MASK,954                       X86ISD::CVTTP2UI, X86ISD::MCVTTP2UI),955    X86_INTRINSIC_DATA(avx512_mask_cvttpd2udq_256, INTR_TYPE_1OP_MASK,956                       X86ISD::CVTTP2UI, 0),957    X86_INTRINSIC_DATA(avx512_mask_cvttpd2udq_512, INTR_TYPE_1OP_MASK_SAE,958                       X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),959    X86_INTRINSIC_DATA(avx512_mask_cvttpd2uqq_128, INTR_TYPE_1OP_MASK,960                       X86ISD::CVTTP2UI, 0),961    X86_INTRINSIC_DATA(avx512_mask_cvttpd2uqq_256, INTR_TYPE_1OP_MASK,962                       X86ISD::CVTTP2UI, 0),963    X86_INTRINSIC_DATA(avx512_mask_cvttpd2uqq_512, INTR_TYPE_1OP_MASK_SAE,964                       X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),965    X86_INTRINSIC_DATA(avx512_mask_cvttps2dq_512, INTR_TYPE_1OP_MASK_SAE,966                       X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),967    X86_INTRINSIC_DATA(avx512_mask_cvttps2qq_128, INTR_TYPE_1OP_MASK,968                       X86ISD::CVTTP2SI, 0),969    X86_INTRINSIC_DATA(avx512_mask_cvttps2qq_256, INTR_TYPE_1OP_MASK,970                       X86ISD::CVTTP2SI, 0),971    X86_INTRINSIC_DATA(avx512_mask_cvttps2qq_512, INTR_TYPE_1OP_MASK_SAE,972                       X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),973    X86_INTRINSIC_DATA(avx512_mask_cvttps2udq_128, INTR_TYPE_1OP_MASK,974                       X86ISD::CVTTP2UI, 0),975    X86_INTRINSIC_DATA(avx512_mask_cvttps2udq_256, INTR_TYPE_1OP_MASK,976                       X86ISD::CVTTP2UI, 0),977    X86_INTRINSIC_DATA(avx512_mask_cvttps2udq_512, INTR_TYPE_1OP_MASK_SAE,978                       X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),979    X86_INTRINSIC_DATA(avx512_mask_cvttps2uqq_128, INTR_TYPE_1OP_MASK,980                       X86ISD::CVTTP2UI, 0),981    X86_INTRINSIC_DATA(avx512_mask_cvttps2uqq_256, INTR_TYPE_1OP_MASK,982                       X86ISD::CVTTP2UI, 0),983    X86_INTRINSIC_DATA(avx512_mask_cvttps2uqq_512, INTR_TYPE_1OP_MASK_SAE,984                       X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),985    X86_INTRINSIC_DATA(avx512_mask_cvtuqq2ps_128, CVTQQ2PS_MASK,986                       X86ISD::CVTUI2P, X86ISD::MCVTUI2P),987    X86_INTRINSIC_DATA(avx512_mask_div_sd_round, INTR_TYPE_SCALAR_MASK,988                       X86ISD::FDIVS, X86ISD::FDIVS_RND),989    X86_INTRINSIC_DATA(avx512_mask_div_ss_round, INTR_TYPE_SCALAR_MASK,990                       X86ISD::FDIVS, X86ISD::FDIVS_RND),991    X86_INTRINSIC_DATA(avx512_mask_expand, COMPRESS_EXPAND_IN_REG,992                       X86ISD::EXPAND, 0),993    X86_INTRINSIC_DATA(avx512_mask_fixupimm_pd_128, FIXUPIMM, X86ISD::VFIXUPIMM,994                       0),995    X86_INTRINSIC_DATA(avx512_mask_fixupimm_pd_256, FIXUPIMM, X86ISD::VFIXUPIMM,996                       0),997    X86_INTRINSIC_DATA(avx512_mask_fixupimm_pd_512, FIXUPIMM, X86ISD::VFIXUPIMM,998                       X86ISD::VFIXUPIMM_SAE),999    X86_INTRINSIC_DATA(avx512_mask_fixupimm_ps_128, FIXUPIMM, X86ISD::VFIXUPIMM,1000                       0),1001    X86_INTRINSIC_DATA(avx512_mask_fixupimm_ps_256, FIXUPIMM, X86ISD::VFIXUPIMM,1002                       0),1003    X86_INTRINSIC_DATA(avx512_mask_fixupimm_ps_512, FIXUPIMM, X86ISD::VFIXUPIMM,1004                       X86ISD::VFIXUPIMM_SAE),1005    X86_INTRINSIC_DATA(avx512_mask_fixupimm_sd, FIXUPIMM, X86ISD::VFIXUPIMMS,1006                       X86ISD::VFIXUPIMMS_SAE),1007    X86_INTRINSIC_DATA(avx512_mask_fixupimm_ss, FIXUPIMM, X86ISD::VFIXUPIMMS,1008                       X86ISD::VFIXUPIMMS_SAE),1009    X86_INTRINSIC_DATA(avx512_mask_fpclass_sd, FPCLASSS, X86ISD::VFPCLASSS, 0),1010    X86_INTRINSIC_DATA(avx512_mask_fpclass_ss, FPCLASSS, X86ISD::VFPCLASSS, 0),1011    X86_INTRINSIC_DATA(avx512_mask_getexp_pd_128, INTR_TYPE_1OP_MASK,1012                       X86ISD::FGETEXP, 0),1013    X86_INTRINSIC_DATA(avx512_mask_getexp_pd_256, INTR_TYPE_1OP_MASK,1014                       X86ISD::FGETEXP, 0),1015    X86_INTRINSIC_DATA(avx512_mask_getexp_pd_512, INTR_TYPE_1OP_MASK_SAE,1016                       X86ISD::FGETEXP, X86ISD::FGETEXP_SAE),1017    X86_INTRINSIC_DATA(avx512_mask_getexp_ps_128, INTR_TYPE_1OP_MASK,1018                       X86ISD::FGETEXP, 0),1019    X86_INTRINSIC_DATA(avx512_mask_getexp_ps_256, INTR_TYPE_1OP_MASK,1020                       X86ISD::FGETEXP, 0),1021    X86_INTRINSIC_DATA(avx512_mask_getexp_ps_512, INTR_TYPE_1OP_MASK_SAE,1022                       X86ISD::FGETEXP, X86ISD::FGETEXP_SAE),1023    X86_INTRINSIC_DATA(avx512_mask_getexp_sd, INTR_TYPE_SCALAR_MASK_SAE,1024                       X86ISD::FGETEXPS, X86ISD::FGETEXPS_SAE),1025    X86_INTRINSIC_DATA(avx512_mask_getexp_ss, INTR_TYPE_SCALAR_MASK_SAE,1026                       X86ISD::FGETEXPS, X86ISD::FGETEXPS_SAE),1027    X86_INTRINSIC_DATA(avx512_mask_getmant_pd_128, INTR_TYPE_2OP_MASK_SAE,1028                       X86ISD::VGETMANT, 0),1029    X86_INTRINSIC_DATA(avx512_mask_getmant_pd_256, INTR_TYPE_2OP_MASK_SAE,1030                       X86ISD::VGETMANT, 0),1031    X86_INTRINSIC_DATA(avx512_mask_getmant_pd_512, INTR_TYPE_2OP_MASK_SAE,1032                       X86ISD::VGETMANT, X86ISD::VGETMANT_SAE),1033    X86_INTRINSIC_DATA(avx512_mask_getmant_ps_128, INTR_TYPE_2OP_MASK_SAE,1034                       X86ISD::VGETMANT, 0),1035    X86_INTRINSIC_DATA(avx512_mask_getmant_ps_256, INTR_TYPE_2OP_MASK_SAE,1036                       X86ISD::VGETMANT, 0),1037    X86_INTRINSIC_DATA(avx512_mask_getmant_ps_512, INTR_TYPE_2OP_MASK_SAE,1038                       X86ISD::VGETMANT, X86ISD::VGETMANT_SAE),1039    X86_INTRINSIC_DATA(avx512_mask_getmant_sd, INTR_TYPE_3OP_SCALAR_MASK_SAE,1040                       X86ISD::VGETMANTS, X86ISD::VGETMANTS_SAE),1041    X86_INTRINSIC_DATA(avx512_mask_getmant_ss, INTR_TYPE_3OP_SCALAR_MASK_SAE,1042                       X86ISD::VGETMANTS, X86ISD::VGETMANTS_SAE),1043    X86_INTRINSIC_DATA(avx512_mask_max_sd_round, INTR_TYPE_SCALAR_MASK_SAE,1044                       X86ISD::FMAXS, X86ISD::FMAXS_SAE),1045    X86_INTRINSIC_DATA(avx512_mask_max_ss_round, INTR_TYPE_SCALAR_MASK_SAE,1046                       X86ISD::FMAXS, X86ISD::FMAXS_SAE),1047    X86_INTRINSIC_DATA(avx512_mask_min_sd_round, INTR_TYPE_SCALAR_MASK_SAE,1048                       X86ISD::FMINS, X86ISD::FMINS_SAE),1049    X86_INTRINSIC_DATA(avx512_mask_min_ss_round, INTR_TYPE_SCALAR_MASK_SAE,1050                       X86ISD::FMINS, X86ISD::FMINS_SAE),1051    X86_INTRINSIC_DATA(avx512_mask_mul_sd_round, INTR_TYPE_SCALAR_MASK,1052                       X86ISD::FMULS, X86ISD::FMULS_RND),1053    X86_INTRINSIC_DATA(avx512_mask_mul_ss_round, INTR_TYPE_SCALAR_MASK,1054                       X86ISD::FMULS, X86ISD::FMULS_RND),1055    X86_INTRINSIC_DATA(avx512_mask_pmov_db_128, TRUNCATE_TO_REG, X86ISD::VTRUNC,1056                       X86ISD::VMTRUNC),1057    X86_INTRINSIC_DATA(avx512_mask_pmov_db_256, TRUNCATE_TO_REG, X86ISD::VTRUNC,1058                       X86ISD::VMTRUNC),1059    X86_INTRINSIC_DATA(avx512_mask_pmov_db_512, TRUNCATE_TO_REG, ISD::TRUNCATE,1060                       X86ISD::VMTRUNC),1061    X86_INTRINSIC_DATA(avx512_mask_pmov_dw_128, TRUNCATE_TO_REG, X86ISD::VTRUNC,1062                       X86ISD::VMTRUNC),1063    X86_INTRINSIC_DATA(avx512_mask_pmov_dw_256, TRUNCATE_TO_REG, ISD::TRUNCATE,1064                       X86ISD::VMTRUNC),1065    X86_INTRINSIC_DATA(avx512_mask_pmov_dw_512, TRUNCATE_TO_REG, ISD::TRUNCATE,1066                       X86ISD::VMTRUNC),1067    X86_INTRINSIC_DATA(avx512_mask_pmov_qb_128, TRUNCATE_TO_REG, X86ISD::VTRUNC,1068                       X86ISD::VMTRUNC),1069    X86_INTRINSIC_DATA(avx512_mask_pmov_qb_256, TRUNCATE_TO_REG, X86ISD::VTRUNC,1070                       X86ISD::VMTRUNC),1071    X86_INTRINSIC_DATA(avx512_mask_pmov_qb_512, TRUNCATE_TO_REG, X86ISD::VTRUNC,1072                       X86ISD::VMTRUNC),1073    X86_INTRINSIC_DATA(avx512_mask_pmov_qd_128, TRUNCATE_TO_REG, X86ISD::VTRUNC,1074                       X86ISD::VMTRUNC),1075    X86_INTRINSIC_DATA(avx512_mask_pmov_qw_128, TRUNCATE_TO_REG, X86ISD::VTRUNC,1076                       X86ISD::VMTRUNC),1077    X86_INTRINSIC_DATA(avx512_mask_pmov_qw_256, TRUNCATE_TO_REG, X86ISD::VTRUNC,1078                       X86ISD::VMTRUNC),1079    X86_INTRINSIC_DATA(avx512_mask_pmov_qw_512, TRUNCATE_TO_REG, ISD::TRUNCATE,1080                       X86ISD::VMTRUNC),1081    X86_INTRINSIC_DATA(avx512_mask_pmov_wb_128, TRUNCATE_TO_REG, X86ISD::VTRUNC,1082                       X86ISD::VMTRUNC),1083    X86_INTRINSIC_DATA(avx512_mask_pmovs_db_128, TRUNCATE_TO_REG,1084                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1085    X86_INTRINSIC_DATA(avx512_mask_pmovs_db_256, TRUNCATE_TO_REG,1086                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1087    X86_INTRINSIC_DATA(avx512_mask_pmovs_db_512, TRUNCATE_TO_REG,1088                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1089    X86_INTRINSIC_DATA(avx512_mask_pmovs_dw_128, TRUNCATE_TO_REG,1090                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1091    X86_INTRINSIC_DATA(avx512_mask_pmovs_dw_256, TRUNCATE_TO_REG,1092                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1093    X86_INTRINSIC_DATA(avx512_mask_pmovs_dw_512, TRUNCATE_TO_REG,1094                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1095    X86_INTRINSIC_DATA(avx512_mask_pmovs_qb_128, TRUNCATE_TO_REG,1096                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1097    X86_INTRINSIC_DATA(avx512_mask_pmovs_qb_256, TRUNCATE_TO_REG,1098                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1099    X86_INTRINSIC_DATA(avx512_mask_pmovs_qb_512, TRUNCATE_TO_REG,1100                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1101    X86_INTRINSIC_DATA(avx512_mask_pmovs_qd_128, TRUNCATE_TO_REG,1102                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1103    X86_INTRINSIC_DATA(avx512_mask_pmovs_qd_256, INTR_TYPE_1OP_MASK,1104                       X86ISD::VTRUNCS, 0),1105    X86_INTRINSIC_DATA(avx512_mask_pmovs_qd_512, INTR_TYPE_1OP_MASK,1106                       X86ISD::VTRUNCS, 0),1107    X86_INTRINSIC_DATA(avx512_mask_pmovs_qw_128, TRUNCATE_TO_REG,1108                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1109    X86_INTRINSIC_DATA(avx512_mask_pmovs_qw_256, TRUNCATE_TO_REG,1110                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1111    X86_INTRINSIC_DATA(avx512_mask_pmovs_qw_512, TRUNCATE_TO_REG,1112                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1113    X86_INTRINSIC_DATA(avx512_mask_pmovs_wb_128, TRUNCATE_TO_REG,1114                       X86ISD::VTRUNCS, X86ISD::VMTRUNCS),1115    X86_INTRINSIC_DATA(avx512_mask_pmovs_wb_256, INTR_TYPE_1OP_MASK,1116                       X86ISD::VTRUNCS, 0),1117    X86_INTRINSIC_DATA(avx512_mask_pmovs_wb_512, INTR_TYPE_1OP_MASK,1118                       X86ISD::VTRUNCS, 0),1119    X86_INTRINSIC_DATA(avx512_mask_pmovus_db_128, TRUNCATE_TO_REG,1120                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1121    X86_INTRINSIC_DATA(avx512_mask_pmovus_db_256, TRUNCATE_TO_REG,1122                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1123    X86_INTRINSIC_DATA(avx512_mask_pmovus_db_512, TRUNCATE_TO_REG,1124                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1125    X86_INTRINSIC_DATA(avx512_mask_pmovus_dw_128, TRUNCATE_TO_REG,1126                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1127    X86_INTRINSIC_DATA(avx512_mask_pmovus_dw_256, TRUNCATE_TO_REG,1128                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1129    X86_INTRINSIC_DATA(avx512_mask_pmovus_dw_512, TRUNCATE_TO_REG,1130                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1131    X86_INTRINSIC_DATA(avx512_mask_pmovus_qb_128, TRUNCATE_TO_REG,1132                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1133    X86_INTRINSIC_DATA(avx512_mask_pmovus_qb_256, TRUNCATE_TO_REG,1134                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1135    X86_INTRINSIC_DATA(avx512_mask_pmovus_qb_512, TRUNCATE_TO_REG,1136                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1137    X86_INTRINSIC_DATA(avx512_mask_pmovus_qd_128, TRUNCATE_TO_REG,1138                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1139    X86_INTRINSIC_DATA(avx512_mask_pmovus_qd_256, INTR_TYPE_1OP_MASK,1140                       X86ISD::VTRUNCUS, 0),1141    X86_INTRINSIC_DATA(avx512_mask_pmovus_qd_512, INTR_TYPE_1OP_MASK,1142                       X86ISD::VTRUNCUS, 0),1143    X86_INTRINSIC_DATA(avx512_mask_pmovus_qw_128, TRUNCATE_TO_REG,1144                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1145    X86_INTRINSIC_DATA(avx512_mask_pmovus_qw_256, TRUNCATE_TO_REG,1146                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1147    X86_INTRINSIC_DATA(avx512_mask_pmovus_qw_512, TRUNCATE_TO_REG,1148                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1149    X86_INTRINSIC_DATA(avx512_mask_pmovus_wb_128, TRUNCATE_TO_REG,1150                       X86ISD::VTRUNCUS, X86ISD::VMTRUNCUS),1151    X86_INTRINSIC_DATA(avx512_mask_pmovus_wb_256, INTR_TYPE_1OP_MASK,1152                       X86ISD::VTRUNCUS, 0),1153    X86_INTRINSIC_DATA(avx512_mask_pmovus_wb_512, INTR_TYPE_1OP_MASK,1154                       X86ISD::VTRUNCUS, 0),1155    X86_INTRINSIC_DATA(avx512_mask_range_pd_128, INTR_TYPE_3OP_MASK_SAE,1156                       X86ISD::VRANGE, 0),1157    X86_INTRINSIC_DATA(avx512_mask_range_pd_256, INTR_TYPE_3OP_MASK_SAE,1158                       X86ISD::VRANGE, 0),1159    X86_INTRINSIC_DATA(avx512_mask_range_pd_512, INTR_TYPE_3OP_MASK_SAE,1160                       X86ISD::VRANGE, X86ISD::VRANGE_SAE),1161    X86_INTRINSIC_DATA(avx512_mask_range_ps_128, INTR_TYPE_3OP_MASK_SAE,1162                       X86ISD::VRANGE, 0),1163    X86_INTRINSIC_DATA(avx512_mask_range_ps_256, INTR_TYPE_3OP_MASK_SAE,1164                       X86ISD::VRANGE, 0),1165    X86_INTRINSIC_DATA(avx512_mask_range_ps_512, INTR_TYPE_3OP_MASK_SAE,1166                       X86ISD::VRANGE, X86ISD::VRANGE_SAE),1167    X86_INTRINSIC_DATA(avx512_mask_range_sd, INTR_TYPE_SCALAR_MASK,1168                       X86ISD::VRANGES, X86ISD::VRANGES_SAE),1169    X86_INTRINSIC_DATA(avx512_mask_range_ss, INTR_TYPE_SCALAR_MASK,1170                       X86ISD::VRANGES, X86ISD::VRANGES_SAE),1171    X86_INTRINSIC_DATA(avx512_mask_reduce_pd_128, INTR_TYPE_2OP_MASK_SAE,1172                       X86ISD::VREDUCE, 0),1173    X86_INTRINSIC_DATA(avx512_mask_reduce_pd_256, INTR_TYPE_2OP_MASK_SAE,1174                       X86ISD::VREDUCE, 0),1175    X86_INTRINSIC_DATA(avx512_mask_reduce_pd_512, INTR_TYPE_2OP_MASK_SAE,1176                       X86ISD::VREDUCE, X86ISD::VREDUCE_SAE),1177    X86_INTRINSIC_DATA(avx512_mask_reduce_ps_128, INTR_TYPE_2OP_MASK_SAE,1178                       X86ISD::VREDUCE, 0),1179    X86_INTRINSIC_DATA(avx512_mask_reduce_ps_256, INTR_TYPE_2OP_MASK_SAE,1180                       X86ISD::VREDUCE, 0),1181    X86_INTRINSIC_DATA(avx512_mask_reduce_ps_512, INTR_TYPE_2OP_MASK_SAE,1182                       X86ISD::VREDUCE, X86ISD::VREDUCE_SAE),1183    X86_INTRINSIC_DATA(avx512_mask_reduce_sd, INTR_TYPE_SCALAR_MASK,1184                       X86ISD::VREDUCES, X86ISD::VREDUCES_SAE),1185    X86_INTRINSIC_DATA(avx512_mask_reduce_ss, INTR_TYPE_SCALAR_MASK,1186                       X86ISD::VREDUCES, X86ISD::VREDUCES_SAE),1187    X86_INTRINSIC_DATA(avx512_mask_rndscale_pd_128, INTR_TYPE_2OP_MASK_SAE,1188                       X86ISD::VRNDSCALE, 0),1189    X86_INTRINSIC_DATA(avx512_mask_rndscale_pd_256, INTR_TYPE_2OP_MASK_SAE,1190                       X86ISD::VRNDSCALE, 0),1191    X86_INTRINSIC_DATA(avx512_mask_rndscale_pd_512, INTR_TYPE_2OP_MASK_SAE,1192                       X86ISD::VRNDSCALE, X86ISD::VRNDSCALE_SAE),1193    X86_INTRINSIC_DATA(avx512_mask_rndscale_ps_128, INTR_TYPE_2OP_MASK_SAE,1194                       X86ISD::VRNDSCALE, 0),1195    X86_INTRINSIC_DATA(avx512_mask_rndscale_ps_256, INTR_TYPE_2OP_MASK_SAE,1196                       X86ISD::VRNDSCALE, 0),1197    X86_INTRINSIC_DATA(avx512_mask_rndscale_ps_512, INTR_TYPE_2OP_MASK_SAE,1198                       X86ISD::VRNDSCALE, X86ISD::VRNDSCALE_SAE),1199    X86_INTRINSIC_DATA(avx512_mask_rndscale_sd, INTR_TYPE_SCALAR_MASK,1200                       X86ISD::VRNDSCALES, X86ISD::VRNDSCALES_SAE),1201    X86_INTRINSIC_DATA(avx512_mask_rndscale_ss, INTR_TYPE_SCALAR_MASK,1202                       X86ISD::VRNDSCALES, X86ISD::VRNDSCALES_SAE),1203    X86_INTRINSIC_DATA(avx512_mask_scalef_pd_128, INTR_TYPE_2OP_MASK,1204                       X86ISD::SCALEF, 0),1205    X86_INTRINSIC_DATA(avx512_mask_scalef_pd_256, INTR_TYPE_2OP_MASK,1206                       X86ISD::SCALEF, 0),1207    X86_INTRINSIC_DATA(avx512_mask_scalef_pd_512, INTR_TYPE_2OP_MASK,1208                       X86ISD::SCALEF, X86ISD::SCALEF_RND),1209    X86_INTRINSIC_DATA(avx512_mask_scalef_ps_128, INTR_TYPE_2OP_MASK,1210                       X86ISD::SCALEF, 0),1211    X86_INTRINSIC_DATA(avx512_mask_scalef_ps_256, INTR_TYPE_2OP_MASK,1212                       X86ISD::SCALEF, 0),1213    X86_INTRINSIC_DATA(avx512_mask_scalef_ps_512, INTR_TYPE_2OP_MASK,1214                       X86ISD::SCALEF, X86ISD::SCALEF_RND),1215    X86_INTRINSIC_DATA(avx512_mask_scalef_sd, INTR_TYPE_SCALAR_MASK,1216                       X86ISD::SCALEFS, X86ISD::SCALEFS_RND),1217    X86_INTRINSIC_DATA(avx512_mask_scalef_ss, INTR_TYPE_SCALAR_MASK,1218                       X86ISD::SCALEFS, X86ISD::SCALEFS_RND),1219    X86_INTRINSIC_DATA(avx512_mask_sqrt_sd, INTR_TYPE_SCALAR_MASK,1220                       X86ISD::FSQRTS, X86ISD::FSQRTS_RND),1221    X86_INTRINSIC_DATA(avx512_mask_sqrt_ss, INTR_TYPE_SCALAR_MASK,1222                       X86ISD::FSQRTS, X86ISD::FSQRTS_RND),1223    X86_INTRINSIC_DATA(avx512_mask_sub_sd_round, INTR_TYPE_SCALAR_MASK,1224                       X86ISD::FSUBS, X86ISD::FSUBS_RND),1225    X86_INTRINSIC_DATA(avx512_mask_sub_ss_round, INTR_TYPE_SCALAR_MASK,1226                       X86ISD::FSUBS, X86ISD::FSUBS_RND),1227    X86_INTRINSIC_DATA(avx512_mask_vcvtph2ps_512, INTR_TYPE_1OP_MASK_SAE,1228                       X86ISD::CVTPH2PS, X86ISD::CVTPH2PS_SAE),1229    X86_INTRINSIC_DATA(avx512_mask_vcvtps2ph_128, CVTPS2PH_MASK,1230                       X86ISD::CVTPS2PH, X86ISD::MCVTPS2PH),1231    X86_INTRINSIC_DATA(avx512_mask_vcvtps2ph_256, CVTPS2PH_MASK,1232                       X86ISD::CVTPS2PH, X86ISD::MCVTPS2PH),1233    X86_INTRINSIC_DATA(avx512_mask_vcvtps2ph_512, CVTPS2PH_MASK,1234                       X86ISD::CVTPS2PH, X86ISD::MCVTPS2PH),1235 1236    X86_INTRINSIC_DATA(avx512_maskz_fixupimm_pd_128, FIXUPIMM_MASKZ,1237                       X86ISD::VFIXUPIMM, 0),1238    X86_INTRINSIC_DATA(avx512_maskz_fixupimm_pd_256, FIXUPIMM_MASKZ,1239                       X86ISD::VFIXUPIMM, 0),1240    X86_INTRINSIC_DATA(avx512_maskz_fixupimm_pd_512, FIXUPIMM_MASKZ,1241                       X86ISD::VFIXUPIMM, X86ISD::VFIXUPIMM_SAE),1242    X86_INTRINSIC_DATA(avx512_maskz_fixupimm_ps_128, FIXUPIMM_MASKZ,1243                       X86ISD::VFIXUPIMM, 0),1244    X86_INTRINSIC_DATA(avx512_maskz_fixupimm_ps_256, FIXUPIMM_MASKZ,1245                       X86ISD::VFIXUPIMM, 0),1246    X86_INTRINSIC_DATA(avx512_maskz_fixupimm_ps_512, FIXUPIMM_MASKZ,1247                       X86ISD::VFIXUPIMM, X86ISD::VFIXUPIMM_SAE),1248    X86_INTRINSIC_DATA(avx512_maskz_fixupimm_sd, FIXUPIMM_MASKZ,1249                       X86ISD::VFIXUPIMMS, X86ISD::VFIXUPIMMS_SAE),1250    X86_INTRINSIC_DATA(avx512_maskz_fixupimm_ss, FIXUPIMM_MASKZ,1251                       X86ISD::VFIXUPIMMS, X86ISD::VFIXUPIMMS_SAE),1252 1253    X86_INTRINSIC_DATA(avx512_max_pd_512, INTR_TYPE_2OP_SAE, X86ISD::FMAX,1254                       X86ISD::FMAX_SAE),1255    X86_INTRINSIC_DATA(avx512_max_ps_512, INTR_TYPE_2OP_SAE, X86ISD::FMAX,1256                       X86ISD::FMAX_SAE),1257    X86_INTRINSIC_DATA(avx512_min_pd_512, INTR_TYPE_2OP_SAE, X86ISD::FMIN,1258                       X86ISD::FMIN_SAE),1259    X86_INTRINSIC_DATA(avx512_min_ps_512, INTR_TYPE_2OP_SAE, X86ISD::FMIN,1260                       X86ISD::FMIN_SAE),1261    X86_INTRINSIC_DATA(avx512_mul_pd_512, INTR_TYPE_2OP, ISD::FMUL,1262                       X86ISD::FMUL_RND),1263    X86_INTRINSIC_DATA(avx512_mul_ps_512, INTR_TYPE_2OP, ISD::FMUL,1264                       X86ISD::FMUL_RND),1265    X86_INTRINSIC_DATA(avx512_packssdw_512, INTR_TYPE_2OP, X86ISD::PACKSS, 0),1266    X86_INTRINSIC_DATA(avx512_packsswb_512, INTR_TYPE_2OP, X86ISD::PACKSS, 0),1267    X86_INTRINSIC_DATA(avx512_packusdw_512, INTR_TYPE_2OP, X86ISD::PACKUS, 0),1268    X86_INTRINSIC_DATA(avx512_packuswb_512, INTR_TYPE_2OP, X86ISD::PACKUS, 0),1269    X86_INTRINSIC_DATA(avx512_pavg_b_512, INTR_TYPE_2OP, ISD::AVGCEILU, 0),1270    X86_INTRINSIC_DATA(avx512_pavg_w_512, INTR_TYPE_2OP, ISD::AVGCEILU, 0),1271    X86_INTRINSIC_DATA(avx512_permvar_df_256, VPERM_2OP, X86ISD::VPERMV, 0),1272    X86_INTRINSIC_DATA(avx512_permvar_df_512, VPERM_2OP, X86ISD::VPERMV, 0),1273    X86_INTRINSIC_DATA(avx512_permvar_di_256, VPERM_2OP, X86ISD::VPERMV, 0),1274    X86_INTRINSIC_DATA(avx512_permvar_di_512, VPERM_2OP, X86ISD::VPERMV, 0),1275    X86_INTRINSIC_DATA(avx512_permvar_hi_128, VPERM_2OP, X86ISD::VPERMV, 0),1276    X86_INTRINSIC_DATA(avx512_permvar_hi_256, VPERM_2OP, X86ISD::VPERMV, 0),1277    X86_INTRINSIC_DATA(avx512_permvar_hi_512, VPERM_2OP, X86ISD::VPERMV, 0),1278    X86_INTRINSIC_DATA(avx512_permvar_qi_128, VPERM_2OP, X86ISD::VPERMV, 0),1279    X86_INTRINSIC_DATA(avx512_permvar_qi_256, VPERM_2OP, X86ISD::VPERMV, 0),1280    X86_INTRINSIC_DATA(avx512_permvar_qi_512, VPERM_2OP, X86ISD::VPERMV, 0),1281    X86_INTRINSIC_DATA(avx512_permvar_sf_512, VPERM_2OP, X86ISD::VPERMV, 0),1282    X86_INTRINSIC_DATA(avx512_permvar_si_512, VPERM_2OP, X86ISD::VPERMV, 0),1283    X86_INTRINSIC_DATA(avx512_pmaddubs_w_512, INTR_TYPE_2OP, X86ISD::VPMADDUBSW,1284                       0),1285    X86_INTRINSIC_DATA(avx512_pmaddw_d_512, INTR_TYPE_2OP, X86ISD::VPMADDWD, 0),1286    X86_INTRINSIC_DATA(avx512_pmul_hr_sw_512, INTR_TYPE_2OP, X86ISD::MULHRS, 0),1287    X86_INTRINSIC_DATA(avx512_pmulh_w_512, INTR_TYPE_2OP, ISD::MULHS, 0),1288    X86_INTRINSIC_DATA(avx512_pmulhu_w_512, INTR_TYPE_2OP, ISD::MULHU, 0),1289    X86_INTRINSIC_DATA(avx512_pmultishift_qb_128, INTR_TYPE_2OP,1290                       X86ISD::MULTISHIFT, 0),1291    X86_INTRINSIC_DATA(avx512_pmultishift_qb_256, INTR_TYPE_2OP,1292                       X86ISD::MULTISHIFT, 0),1293    X86_INTRINSIC_DATA(avx512_pmultishift_qb_512, INTR_TYPE_2OP,1294                       X86ISD::MULTISHIFT, 0),1295    X86_INTRINSIC_DATA(avx512_psad_bw_512, INTR_TYPE_2OP, X86ISD::PSADBW, 0),1296    X86_INTRINSIC_DATA(avx512_pshuf_b_512, INTR_TYPE_2OP, X86ISD::PSHUFB, 0),1297    X86_INTRINSIC_DATA(avx512_psll_d_512, INTR_TYPE_2OP, X86ISD::VSHL, 0),1298    X86_INTRINSIC_DATA(avx512_psll_q_512, INTR_TYPE_2OP, X86ISD::VSHL, 0),1299    X86_INTRINSIC_DATA(avx512_psll_w_512, INTR_TYPE_2OP, X86ISD::VSHL, 0),1300    X86_INTRINSIC_DATA(avx512_pslli_d_512, VSHIFT, X86ISD::VSHLI, 0),1301    X86_INTRINSIC_DATA(avx512_pslli_q_512, VSHIFT, X86ISD::VSHLI, 0),1302    X86_INTRINSIC_DATA(avx512_pslli_w_512, VSHIFT, X86ISD::VSHLI, 0),1303    X86_INTRINSIC_DATA(avx512_psllv_d_512, INTR_TYPE_2OP, X86ISD::VSHLV, 0),1304    X86_INTRINSIC_DATA(avx512_psllv_q_512, INTR_TYPE_2OP, X86ISD::VSHLV, 0),1305    X86_INTRINSIC_DATA(avx512_psllv_w_128, INTR_TYPE_2OP, X86ISD::VSHLV, 0),1306    X86_INTRINSIC_DATA(avx512_psllv_w_256, INTR_TYPE_2OP, X86ISD::VSHLV, 0),1307    X86_INTRINSIC_DATA(avx512_psllv_w_512, INTR_TYPE_2OP, X86ISD::VSHLV, 0),1308    X86_INTRINSIC_DATA(avx512_psra_d_512, INTR_TYPE_2OP, X86ISD::VSRA, 0),1309    X86_INTRINSIC_DATA(avx512_psra_q_128, INTR_TYPE_2OP, X86ISD::VSRA, 0),1310    X86_INTRINSIC_DATA(avx512_psra_q_256, INTR_TYPE_2OP, X86ISD::VSRA, 0),1311    X86_INTRINSIC_DATA(avx512_psra_q_512, INTR_TYPE_2OP, X86ISD::VSRA, 0),1312    X86_INTRINSIC_DATA(avx512_psra_w_512, INTR_TYPE_2OP, X86ISD::VSRA, 0),1313    X86_INTRINSIC_DATA(avx512_psrai_d_512, VSHIFT, X86ISD::VSRAI, 0),1314    X86_INTRINSIC_DATA(avx512_psrai_q_128, VSHIFT, X86ISD::VSRAI, 0),1315    X86_INTRINSIC_DATA(avx512_psrai_q_256, VSHIFT, X86ISD::VSRAI, 0),1316    X86_INTRINSIC_DATA(avx512_psrai_q_512, VSHIFT, X86ISD::VSRAI, 0),1317    X86_INTRINSIC_DATA(avx512_psrai_w_512, VSHIFT, X86ISD::VSRAI, 0),1318    X86_INTRINSIC_DATA(avx512_psrav_d_512, INTR_TYPE_2OP, X86ISD::VSRAV, 0),1319    X86_INTRINSIC_DATA(avx512_psrav_q_128, INTR_TYPE_2OP, X86ISD::VSRAV, 0),1320    X86_INTRINSIC_DATA(avx512_psrav_q_256, INTR_TYPE_2OP, X86ISD::VSRAV, 0),1321    X86_INTRINSIC_DATA(avx512_psrav_q_512, INTR_TYPE_2OP, X86ISD::VSRAV, 0),1322    X86_INTRINSIC_DATA(avx512_psrav_w_128, INTR_TYPE_2OP, X86ISD::VSRAV, 0),1323    X86_INTRINSIC_DATA(avx512_psrav_w_256, INTR_TYPE_2OP, X86ISD::VSRAV, 0),1324    X86_INTRINSIC_DATA(avx512_psrav_w_512, INTR_TYPE_2OP, X86ISD::VSRAV, 0),1325    X86_INTRINSIC_DATA(avx512_psrl_d_512, INTR_TYPE_2OP, X86ISD::VSRL, 0),1326    X86_INTRINSIC_DATA(avx512_psrl_q_512, INTR_TYPE_2OP, X86ISD::VSRL, 0),1327    X86_INTRINSIC_DATA(avx512_psrl_w_512, INTR_TYPE_2OP, X86ISD::VSRL, 0),1328    X86_INTRINSIC_DATA(avx512_psrli_d_512, VSHIFT, X86ISD::VSRLI, 0),1329    X86_INTRINSIC_DATA(avx512_psrli_q_512, VSHIFT, X86ISD::VSRLI, 0),1330    X86_INTRINSIC_DATA(avx512_psrli_w_512, VSHIFT, X86ISD::VSRLI, 0),1331    X86_INTRINSIC_DATA(avx512_psrlv_d_512, INTR_TYPE_2OP, X86ISD::VSRLV, 0),1332    X86_INTRINSIC_DATA(avx512_psrlv_q_512, INTR_TYPE_2OP, X86ISD::VSRLV, 0),1333    X86_INTRINSIC_DATA(avx512_psrlv_w_128, INTR_TYPE_2OP, X86ISD::VSRLV, 0),1334    X86_INTRINSIC_DATA(avx512_psrlv_w_256, INTR_TYPE_2OP, X86ISD::VSRLV, 0),1335    X86_INTRINSIC_DATA(avx512_psrlv_w_512, INTR_TYPE_2OP, X86ISD::VSRLV, 0),1336    X86_INTRINSIC_DATA(avx512_pternlog_d_128, INTR_TYPE_4OP_IMM8,1337                       X86ISD::VPTERNLOG, 0),1338    X86_INTRINSIC_DATA(avx512_pternlog_d_256, INTR_TYPE_4OP_IMM8,1339                       X86ISD::VPTERNLOG, 0),1340    X86_INTRINSIC_DATA(avx512_pternlog_d_512, INTR_TYPE_4OP_IMM8,1341                       X86ISD::VPTERNLOG, 0),1342    X86_INTRINSIC_DATA(avx512_pternlog_q_128, INTR_TYPE_4OP_IMM8,1343                       X86ISD::VPTERNLOG, 0),1344    X86_INTRINSIC_DATA(avx512_pternlog_q_256, INTR_TYPE_4OP_IMM8,1345                       X86ISD::VPTERNLOG, 0),1346    X86_INTRINSIC_DATA(avx512_pternlog_q_512, INTR_TYPE_4OP_IMM8,1347                       X86ISD::VPTERNLOG, 0),1348    X86_INTRINSIC_DATA(avx512_rcp14_pd_128, INTR_TYPE_1OP_MASK, X86ISD::RCP14,1349                       0),1350    X86_INTRINSIC_DATA(avx512_rcp14_pd_256, INTR_TYPE_1OP_MASK, X86ISD::RCP14,1351                       0),1352    X86_INTRINSIC_DATA(avx512_rcp14_pd_512, INTR_TYPE_1OP_MASK, X86ISD::RCP14,1353                       0),1354    X86_INTRINSIC_DATA(avx512_rcp14_ps_128, INTR_TYPE_1OP_MASK, X86ISD::RCP14,1355                       0),1356    X86_INTRINSIC_DATA(avx512_rcp14_ps_256, INTR_TYPE_1OP_MASK, X86ISD::RCP14,1357                       0),1358    X86_INTRINSIC_DATA(avx512_rcp14_ps_512, INTR_TYPE_1OP_MASK, X86ISD::RCP14,1359                       0),1360    X86_INTRINSIC_DATA(avx512_rcp14_sd, INTR_TYPE_SCALAR_MASK, X86ISD::RCP14S,1361                       0),1362    X86_INTRINSIC_DATA(avx512_rcp14_ss, INTR_TYPE_SCALAR_MASK, X86ISD::RCP14S,1363                       0),1364    X86_INTRINSIC_DATA(avx512_rsqrt14_pd_128, INTR_TYPE_1OP_MASK,1365                       X86ISD::RSQRT14, 0),1366    X86_INTRINSIC_DATA(avx512_rsqrt14_pd_256, INTR_TYPE_1OP_MASK,1367                       X86ISD::RSQRT14, 0),1368    X86_INTRINSIC_DATA(avx512_rsqrt14_pd_512, INTR_TYPE_1OP_MASK,1369                       X86ISD::RSQRT14, 0),1370    X86_INTRINSIC_DATA(avx512_rsqrt14_ps_128, INTR_TYPE_1OP_MASK,1371                       X86ISD::RSQRT14, 0),1372    X86_INTRINSIC_DATA(avx512_rsqrt14_ps_256, INTR_TYPE_1OP_MASK,1373                       X86ISD::RSQRT14, 0),1374    X86_INTRINSIC_DATA(avx512_rsqrt14_ps_512, INTR_TYPE_1OP_MASK,1375                       X86ISD::RSQRT14, 0),1376    X86_INTRINSIC_DATA(avx512_rsqrt14_sd, INTR_TYPE_SCALAR_MASK,1377                       X86ISD::RSQRT14S, 0),1378    X86_INTRINSIC_DATA(avx512_rsqrt14_ss, INTR_TYPE_SCALAR_MASK,1379                       X86ISD::RSQRT14S, 0),1380    X86_INTRINSIC_DATA(avx512_sitofp_round, INTR_TYPE_1OP, ISD::SINT_TO_FP,1381                       X86ISD::SINT_TO_FP_RND),1382    X86_INTRINSIC_DATA(avx512_sqrt_pd_512, INTR_TYPE_1OP, ISD::FSQRT,1383                       X86ISD::FSQRT_RND),1384    X86_INTRINSIC_DATA(avx512_sqrt_ps_512, INTR_TYPE_1OP, ISD::FSQRT,1385                       X86ISD::FSQRT_RND),1386    X86_INTRINSIC_DATA(avx512_sub_pd_512, INTR_TYPE_2OP, ISD::FSUB,1387                       X86ISD::FSUB_RND),1388    X86_INTRINSIC_DATA(avx512_sub_ps_512, INTR_TYPE_2OP, ISD::FSUB,1389                       X86ISD::FSUB_RND),1390    X86_INTRINSIC_DATA(avx512_uitofp_round, INTR_TYPE_1OP, ISD::UINT_TO_FP,1391                       X86ISD::UINT_TO_FP_RND),1392    X86_INTRINSIC_DATA(avx512_vcomi_sd, COMI_RM, X86ISD::COMI, X86ISD::UCOMI),1393    X86_INTRINSIC_DATA(avx512_vcomi_ss, COMI_RM, X86ISD::COMI, X86ISD::UCOMI),1394    X86_INTRINSIC_DATA(avx512_vcvtsd2si32, INTR_TYPE_1OP, X86ISD::CVTS2SI,1395                       X86ISD::CVTS2SI_RND),1396    X86_INTRINSIC_DATA(avx512_vcvtsd2si64, INTR_TYPE_1OP, X86ISD::CVTS2SI,1397                       X86ISD::CVTS2SI_RND),1398    X86_INTRINSIC_DATA(avx512_vcvtsd2usi32, INTR_TYPE_1OP, X86ISD::CVTS2UI,1399                       X86ISD::CVTS2UI_RND),1400    X86_INTRINSIC_DATA(avx512_vcvtsd2usi64, INTR_TYPE_1OP, X86ISD::CVTS2UI,1401                       X86ISD::CVTS2UI_RND),1402    X86_INTRINSIC_DATA(avx512_vcvtss2si32, INTR_TYPE_1OP, X86ISD::CVTS2SI,1403                       X86ISD::CVTS2SI_RND),1404    X86_INTRINSIC_DATA(avx512_vcvtss2si64, INTR_TYPE_1OP, X86ISD::CVTS2SI,1405                       X86ISD::CVTS2SI_RND),1406    X86_INTRINSIC_DATA(avx512_vcvtss2usi32, INTR_TYPE_1OP, X86ISD::CVTS2UI,1407                       X86ISD::CVTS2UI_RND),1408    X86_INTRINSIC_DATA(avx512_vcvtss2usi64, INTR_TYPE_1OP, X86ISD::CVTS2UI,1409                       X86ISD::CVTS2UI_RND),1410    X86_INTRINSIC_DATA(avx512_vfmadd_f32, INTR_TYPE_3OP, ISD::FMA,1411                       X86ISD::FMADD_RND),1412    X86_INTRINSIC_DATA(avx512_vfmadd_f64, INTR_TYPE_3OP, ISD::FMA,1413                       X86ISD::FMADD_RND),1414    X86_INTRINSIC_DATA(avx512_vfmadd_pd_512, INTR_TYPE_3OP, ISD::FMA,1415                       X86ISD::FMADD_RND),1416    X86_INTRINSIC_DATA(avx512_vfmadd_ps_512, INTR_TYPE_3OP, ISD::FMA,1417                       X86ISD::FMADD_RND),1418    X86_INTRINSIC_DATA(avx512_vfmaddsub_pd_512, INTR_TYPE_3OP, X86ISD::FMADDSUB,1419                       X86ISD::FMADDSUB_RND),1420    X86_INTRINSIC_DATA(avx512_vfmaddsub_ps_512, INTR_TYPE_3OP, X86ISD::FMADDSUB,1421                       X86ISD::FMADDSUB_RND),1422 1423    X86_INTRINSIC_DATA(avx512_vpdpbusd_128, INTR_TYPE_3OP, X86ISD::VPDPBUSD, 0),1424    X86_INTRINSIC_DATA(avx512_vpdpbusd_256, INTR_TYPE_3OP, X86ISD::VPDPBUSD, 0),1425    X86_INTRINSIC_DATA(avx512_vpdpbusd_512, INTR_TYPE_3OP, X86ISD::VPDPBUSD, 0),1426    X86_INTRINSIC_DATA(avx512_vpdpbusds_128, INTR_TYPE_3OP, X86ISD::VPDPBUSDS,1427                       0),1428    X86_INTRINSIC_DATA(avx512_vpdpbusds_256, INTR_TYPE_3OP, X86ISD::VPDPBUSDS,1429                       0),1430    X86_INTRINSIC_DATA(avx512_vpdpbusds_512, INTR_TYPE_3OP, X86ISD::VPDPBUSDS,1431                       0),1432    X86_INTRINSIC_DATA(avx512_vpdpwssd_128, INTR_TYPE_3OP, X86ISD::VPDPWSSD, 0),1433    X86_INTRINSIC_DATA(avx512_vpdpwssd_256, INTR_TYPE_3OP, X86ISD::VPDPWSSD, 0),1434    X86_INTRINSIC_DATA(avx512_vpdpwssd_512, INTR_TYPE_3OP, X86ISD::VPDPWSSD, 0),1435    X86_INTRINSIC_DATA(avx512_vpdpwssds_128, INTR_TYPE_3OP, X86ISD::VPDPWSSDS,1436                       0),1437    X86_INTRINSIC_DATA(avx512_vpdpwssds_256, INTR_TYPE_3OP, X86ISD::VPDPWSSDS,1438                       0),1439    X86_INTRINSIC_DATA(avx512_vpdpwssds_512, INTR_TYPE_3OP, X86ISD::VPDPWSSDS,1440                       0),1441 1442    X86_INTRINSIC_DATA(avx512_vpermi2var_d_128, INTR_TYPE_3OP, X86ISD::VPERMV3,1443                       0),1444    X86_INTRINSIC_DATA(avx512_vpermi2var_d_256, INTR_TYPE_3OP, X86ISD::VPERMV3,1445                       0),1446    X86_INTRINSIC_DATA(avx512_vpermi2var_d_512, INTR_TYPE_3OP, X86ISD::VPERMV3,1447                       0),1448    X86_INTRINSIC_DATA(avx512_vpermi2var_hi_128, INTR_TYPE_3OP, X86ISD::VPERMV3,1449                       0),1450    X86_INTRINSIC_DATA(avx512_vpermi2var_hi_256, INTR_TYPE_3OP, X86ISD::VPERMV3,1451                       0),1452    X86_INTRINSIC_DATA(avx512_vpermi2var_hi_512, INTR_TYPE_3OP, X86ISD::VPERMV3,1453                       0),1454    X86_INTRINSIC_DATA(avx512_vpermi2var_pd_128, INTR_TYPE_3OP, X86ISD::VPERMV3,1455                       0),1456    X86_INTRINSIC_DATA(avx512_vpermi2var_pd_256, INTR_TYPE_3OP, X86ISD::VPERMV3,1457                       0),1458    X86_INTRINSIC_DATA(avx512_vpermi2var_pd_512, INTR_TYPE_3OP, X86ISD::VPERMV3,1459                       0),1460    X86_INTRINSIC_DATA(avx512_vpermi2var_ps_128, INTR_TYPE_3OP, X86ISD::VPERMV3,1461                       0),1462    X86_INTRINSIC_DATA(avx512_vpermi2var_ps_256, INTR_TYPE_3OP, X86ISD::VPERMV3,1463                       0),1464    X86_INTRINSIC_DATA(avx512_vpermi2var_ps_512, INTR_TYPE_3OP, X86ISD::VPERMV3,1465                       0),1466    X86_INTRINSIC_DATA(avx512_vpermi2var_q_128, INTR_TYPE_3OP, X86ISD::VPERMV3,1467                       0),1468    X86_INTRINSIC_DATA(avx512_vpermi2var_q_256, INTR_TYPE_3OP, X86ISD::VPERMV3,1469                       0),1470    X86_INTRINSIC_DATA(avx512_vpermi2var_q_512, INTR_TYPE_3OP, X86ISD::VPERMV3,1471                       0),1472    X86_INTRINSIC_DATA(avx512_vpermi2var_qi_128, INTR_TYPE_3OP, X86ISD::VPERMV3,1473                       0),1474    X86_INTRINSIC_DATA(avx512_vpermi2var_qi_256, INTR_TYPE_3OP, X86ISD::VPERMV3,1475                       0),1476    X86_INTRINSIC_DATA(avx512_vpermi2var_qi_512, INTR_TYPE_3OP, X86ISD::VPERMV3,1477                       0),1478    X86_INTRINSIC_DATA(avx512_vpermilvar_pd_512, INTR_TYPE_2OP,1479                       X86ISD::VPERMILPV, 0),1480    X86_INTRINSIC_DATA(avx512_vpermilvar_ps_512, INTR_TYPE_2OP,1481                       X86ISD::VPERMILPV, 0),1482    X86_INTRINSIC_DATA(avx512_vpmadd52h_uq_128, IFMA_OP, X86ISD::VPMADD52H, 0),1483    X86_INTRINSIC_DATA(avx512_vpmadd52h_uq_256, IFMA_OP, X86ISD::VPMADD52H, 0),1484    X86_INTRINSIC_DATA(avx512_vpmadd52h_uq_512, IFMA_OP, X86ISD::VPMADD52H, 0),1485    X86_INTRINSIC_DATA(avx512_vpmadd52l_uq_128, IFMA_OP, X86ISD::VPMADD52L, 0),1486    X86_INTRINSIC_DATA(avx512_vpmadd52l_uq_256, IFMA_OP, X86ISD::VPMADD52L, 0),1487    X86_INTRINSIC_DATA(avx512_vpmadd52l_uq_512, IFMA_OP, X86ISD::VPMADD52L, 0),1488    X86_INTRINSIC_DATA(avx512_vpshufbitqmb_128, INTR_TYPE_2OP,1489                       X86ISD::VPSHUFBITQMB, 0),1490    X86_INTRINSIC_DATA(avx512_vpshufbitqmb_256, INTR_TYPE_2OP,1491                       X86ISD::VPSHUFBITQMB, 0),1492    X86_INTRINSIC_DATA(avx512_vpshufbitqmb_512, INTR_TYPE_2OP,1493                       X86ISD::VPSHUFBITQMB, 0),1494    // bfloat161495    X86_INTRINSIC_DATA(avx512bf16_cvtne2ps2bf16_128, INTR_TYPE_2OP,1496                       X86ISD::VFPROUND2, 0),1497    X86_INTRINSIC_DATA(avx512bf16_cvtne2ps2bf16_256, INTR_TYPE_2OP,1498                       X86ISD::VFPROUND2, 0),1499    X86_INTRINSIC_DATA(avx512bf16_cvtne2ps2bf16_512, INTR_TYPE_2OP,1500                       X86ISD::VFPROUND2, 0),1501    X86_INTRINSIC_DATA(avx512bf16_cvtneps2bf16_256, INTR_TYPE_1OP,1502                       X86ISD::CVTNEPS2BF16, 0),1503    X86_INTRINSIC_DATA(avx512bf16_cvtneps2bf16_512, INTR_TYPE_1OP,1504                       X86ISD::CVTNEPS2BF16, 0),1505    X86_INTRINSIC_DATA(avx512bf16_dpbf16ps_128, INTR_TYPE_3OP, X86ISD::DPBF16PS,1506                       0),1507    X86_INTRINSIC_DATA(avx512bf16_dpbf16ps_256, INTR_TYPE_3OP, X86ISD::DPBF16PS,1508                       0),1509    X86_INTRINSIC_DATA(avx512bf16_dpbf16ps_512, INTR_TYPE_3OP, X86ISD::DPBF16PS,1510                       0),1511    X86_INTRINSIC_DATA(avx512bf16_mask_cvtneps2bf16_128, CVTNEPS2BF16_MASK,1512                       X86ISD::CVTNEPS2BF16, X86ISD::MCVTNEPS2BF16),1513    X86_INTRINSIC_DATA(avx512fp16_add_ph_512, INTR_TYPE_2OP, ISD::FADD,1514                       X86ISD::FADD_RND),1515    X86_INTRINSIC_DATA(avx512fp16_div_ph_512, INTR_TYPE_2OP, ISD::FDIV,1516                       X86ISD::FDIV_RND),1517    X86_INTRINSIC_DATA(avx512fp16_fpclass_ph_128, INTR_TYPE_2OP,1518                       X86ISD::VFPCLASS, 0),1519    X86_INTRINSIC_DATA(avx512fp16_fpclass_ph_256, INTR_TYPE_2OP,1520                       X86ISD::VFPCLASS, 0),1521    X86_INTRINSIC_DATA(avx512fp16_fpclass_ph_512, INTR_TYPE_2OP,1522                       X86ISD::VFPCLASS, 0),1523    X86_INTRINSIC_DATA(avx512fp16_mask_add_sh_round, INTR_TYPE_SCALAR_MASK,1524                       X86ISD::FADDS, X86ISD::FADDS_RND),1525    X86_INTRINSIC_DATA(avx512fp16_mask_cmp_ph_128, CMP_MASK_CC, X86ISD::CMPMM,1526                       0),1527    X86_INTRINSIC_DATA(avx512fp16_mask_cmp_ph_256, CMP_MASK_CC, X86ISD::CMPMM,1528                       0),1529    X86_INTRINSIC_DATA(avx512fp16_mask_cmp_ph_512, CMP_MASK_CC, X86ISD::CMPMM,1530                       X86ISD::CMPMM_SAE),1531    X86_INTRINSIC_DATA(avx512fp16_mask_cmp_sh, CMP_MASK_SCALAR_CC,1532                       X86ISD::FSETCCM, X86ISD::FSETCCM_SAE),1533    X86_INTRINSIC_DATA(avx512fp16_mask_div_sh_round, INTR_TYPE_SCALAR_MASK,1534                       X86ISD::FDIVS, X86ISD::FDIVS_RND),1535    X86_INTRINSIC_DATA(avx512fp16_mask_fpclass_sh, FPCLASSS, X86ISD::VFPCLASSS,1536                       0),1537    X86_INTRINSIC_DATA(avx512fp16_mask_getexp_ph_128, INTR_TYPE_1OP_MASK,1538                       X86ISD::FGETEXP, 0),1539    X86_INTRINSIC_DATA(avx512fp16_mask_getexp_ph_256, INTR_TYPE_1OP_MASK,1540                       X86ISD::FGETEXP, 0),1541    X86_INTRINSIC_DATA(avx512fp16_mask_getexp_ph_512, INTR_TYPE_1OP_MASK_SAE,1542                       X86ISD::FGETEXP, X86ISD::FGETEXP_SAE),1543    X86_INTRINSIC_DATA(avx512fp16_mask_getexp_sh, INTR_TYPE_SCALAR_MASK_SAE,1544                       X86ISD::FGETEXPS, X86ISD::FGETEXPS_SAE),1545    X86_INTRINSIC_DATA(avx512fp16_mask_getmant_ph_128, INTR_TYPE_2OP_MASK_SAE,1546                       X86ISD::VGETMANT, 0),1547    X86_INTRINSIC_DATA(avx512fp16_mask_getmant_ph_256, INTR_TYPE_2OP_MASK_SAE,1548                       X86ISD::VGETMANT, 0),1549    X86_INTRINSIC_DATA(avx512fp16_mask_getmant_ph_512, INTR_TYPE_2OP_MASK_SAE,1550                       X86ISD::VGETMANT, X86ISD::VGETMANT_SAE),1551    X86_INTRINSIC_DATA(avx512fp16_mask_getmant_sh,1552                       INTR_TYPE_3OP_SCALAR_MASK_SAE, X86ISD::VGETMANTS,1553                       X86ISD::VGETMANTS_SAE),1554    X86_INTRINSIC_DATA(avx512fp16_mask_max_sh_round, INTR_TYPE_SCALAR_MASK_SAE,1555                       X86ISD::FMAXS, X86ISD::FMAXS_SAE),1556    X86_INTRINSIC_DATA(avx512fp16_mask_min_sh_round, INTR_TYPE_SCALAR_MASK_SAE,1557                       X86ISD::FMINS, X86ISD::FMINS_SAE),1558    X86_INTRINSIC_DATA(avx512fp16_mask_mul_sh_round, INTR_TYPE_SCALAR_MASK,1559                       X86ISD::FMULS, X86ISD::FMULS_RND),1560    X86_INTRINSIC_DATA(avx512fp16_mask_rcp_ph_128, INTR_TYPE_1OP_MASK,1561                       X86ISD::RCP14, 0),1562    X86_INTRINSIC_DATA(avx512fp16_mask_rcp_ph_256, INTR_TYPE_1OP_MASK,1563                       X86ISD::RCP14, 0),1564    X86_INTRINSIC_DATA(avx512fp16_mask_rcp_ph_512, INTR_TYPE_1OP_MASK,1565                       X86ISD::RCP14, 0),1566    X86_INTRINSIC_DATA(avx512fp16_mask_rcp_sh, INTR_TYPE_SCALAR_MASK,1567                       X86ISD::RCP14S, 0),1568    X86_INTRINSIC_DATA(avx512fp16_mask_reduce_ph_128, INTR_TYPE_2OP_MASK_SAE,1569                       X86ISD::VREDUCE, 0),1570    X86_INTRINSIC_DATA(avx512fp16_mask_reduce_ph_256, INTR_TYPE_2OP_MASK_SAE,1571                       X86ISD::VREDUCE, 0),1572    X86_INTRINSIC_DATA(avx512fp16_mask_reduce_ph_512, INTR_TYPE_2OP_MASK_SAE,1573                       X86ISD::VREDUCE, X86ISD::VREDUCE_SAE),1574    X86_INTRINSIC_DATA(avx512fp16_mask_reduce_sh, INTR_TYPE_SCALAR_MASK,1575                       X86ISD::VREDUCES, X86ISD::VREDUCES_SAE),1576    X86_INTRINSIC_DATA(avx512fp16_mask_rndscale_ph_128, INTR_TYPE_2OP_MASK_SAE,1577                       X86ISD::VRNDSCALE, 0),1578    X86_INTRINSIC_DATA(avx512fp16_mask_rndscale_ph_256, INTR_TYPE_2OP_MASK_SAE,1579                       X86ISD::VRNDSCALE, 0),1580    X86_INTRINSIC_DATA(avx512fp16_mask_rndscale_ph_512, INTR_TYPE_2OP_MASK_SAE,1581                       X86ISD::VRNDSCALE, X86ISD::VRNDSCALE_SAE),1582    X86_INTRINSIC_DATA(avx512fp16_mask_rndscale_sh, INTR_TYPE_SCALAR_MASK,1583                       X86ISD::VRNDSCALES, X86ISD::VRNDSCALES_SAE),1584    X86_INTRINSIC_DATA(avx512fp16_mask_rsqrt_ph_128, INTR_TYPE_1OP_MASK,1585                       X86ISD::RSQRT14, 0),1586    X86_INTRINSIC_DATA(avx512fp16_mask_rsqrt_ph_256, INTR_TYPE_1OP_MASK,1587                       X86ISD::RSQRT14, 0),1588    X86_INTRINSIC_DATA(avx512fp16_mask_rsqrt_ph_512, INTR_TYPE_1OP_MASK,1589                       X86ISD::RSQRT14, 0),1590    X86_INTRINSIC_DATA(avx512fp16_mask_rsqrt_sh, INTR_TYPE_SCALAR_MASK,1591                       X86ISD::RSQRT14S, 0),1592    X86_INTRINSIC_DATA(avx512fp16_mask_scalef_ph_128, INTR_TYPE_2OP_MASK,1593                       X86ISD::SCALEF, 0),1594    X86_INTRINSIC_DATA(avx512fp16_mask_scalef_ph_256, INTR_TYPE_2OP_MASK,1595                       X86ISD::SCALEF, 0),1596    X86_INTRINSIC_DATA(avx512fp16_mask_scalef_ph_512, INTR_TYPE_2OP_MASK,1597                       X86ISD::SCALEF, X86ISD::SCALEF_RND),1598    X86_INTRINSIC_DATA(avx512fp16_mask_scalef_sh, INTR_TYPE_SCALAR_MASK,1599                       X86ISD::SCALEFS, X86ISD::SCALEFS_RND),1600    X86_INTRINSIC_DATA(avx512fp16_mask_sqrt_sh, INTR_TYPE_SCALAR_MASK,1601                       X86ISD::FSQRTS, X86ISD::FSQRTS_RND),1602    X86_INTRINSIC_DATA(avx512fp16_mask_sub_sh_round, INTR_TYPE_SCALAR_MASK,1603                       X86ISD::FSUBS, X86ISD::FSUBS_RND),1604    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtdq2ph_128, TRUNCATE_TO_REG,1605                       X86ISD::CVTSI2P, X86ISD::MCVTSI2P),1606    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtpd2ph_128, TRUNCATE_TO_REG,1607                       X86ISD::VFPROUND, X86ISD::VMFPROUND),1608    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtpd2ph_256, TRUNCATE_TO_REG,1609                       X86ISD::VFPROUND, X86ISD::VMFPROUND),1610    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtpd2ph_512, INTR_TYPE_1OP_MASK,1611                       X86ISD::VFPROUND, X86ISD::VFPROUND_RND),1612    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2dq_128, INTR_TYPE_1OP_MASK,1613                       X86ISD::CVTP2SI, 0),1614    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2dq_256, INTR_TYPE_1OP_MASK,1615                       X86ISD::CVTP2SI, 0),1616    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2dq_512, INTR_TYPE_1OP_MASK,1617                       X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),1618    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2pd_128, INTR_TYPE_1OP_MASK,1619                       X86ISD::VFPEXT, 0),1620    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2pd_256, INTR_TYPE_1OP_MASK,1621                       X86ISD::VFPEXT, 0),1622    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2pd_512, INTR_TYPE_1OP_MASK_SAE,1623                       ISD::FP_EXTEND, X86ISD::VFPEXT_SAE),1624    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2psx_128, INTR_TYPE_1OP_MASK,1625                       X86ISD::VFPEXT, 0),1626    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2psx_256, INTR_TYPE_1OP_MASK,1627                       ISD::FP_EXTEND, 0),1628    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2psx_512, INTR_TYPE_1OP_MASK_SAE,1629                       ISD::FP_EXTEND, X86ISD::VFPEXT_SAE),1630    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2qq_128, INTR_TYPE_1OP_MASK,1631                       X86ISD::CVTP2SI, 0),1632    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2qq_256, INTR_TYPE_1OP_MASK,1633                       X86ISD::CVTP2SI, 0),1634    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2qq_512, INTR_TYPE_1OP_MASK,1635                       X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),1636    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2udq_128, INTR_TYPE_1OP_MASK,1637                       X86ISD::CVTP2UI, 0),1638    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2udq_256, INTR_TYPE_1OP_MASK,1639                       X86ISD::CVTP2UI, 0),1640    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2udq_512, INTR_TYPE_1OP_MASK,1641                       X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),1642    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2uqq_128, INTR_TYPE_1OP_MASK,1643                       X86ISD::CVTP2UI, 0),1644    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2uqq_256, INTR_TYPE_1OP_MASK,1645                       X86ISD::CVTP2UI, 0),1646    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2uqq_512, INTR_TYPE_1OP_MASK,1647                       X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),1648    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2uw_128, INTR_TYPE_1OP_MASK,1649                       X86ISD::CVTP2UI, 0),1650    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2uw_256, INTR_TYPE_1OP_MASK,1651                       X86ISD::CVTP2UI, 0),1652    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2uw_512, INTR_TYPE_1OP_MASK,1653                       X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),1654    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2w_128, INTR_TYPE_1OP_MASK,1655                       X86ISD::CVTP2SI, 0),1656    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2w_256, INTR_TYPE_1OP_MASK,1657                       X86ISD::CVTP2SI, 0),1658    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtph2w_512, INTR_TYPE_1OP_MASK,1659                       X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),1660    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtps2phx_128, TRUNCATE_TO_REG,1661                       X86ISD::VFPROUND, X86ISD::VMFPROUND),1662    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtps2phx_256, INTR_TYPE_1OP_MASK,1663                       X86ISD::VFPROUND, 0),1664    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtps2phx_512, INTR_TYPE_1OP_MASK,1665                       X86ISD::VFPROUND, X86ISD::VFPROUND_RND),1666    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtqq2ph_128, TRUNCATE_TO_REG,1667                       X86ISD::CVTSI2P, X86ISD::MCVTSI2P),1668    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtqq2ph_256, TRUNCATE_TO_REG,1669                       X86ISD::CVTSI2P, X86ISD::MCVTSI2P),1670    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtsd2sh_round,1671                       INTR_TYPE_SCALAR_MASK_RND, X86ISD::VFPROUNDS,1672                       X86ISD::VFPROUNDS_RND),1673    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtsh2sd_round,1674                       INTR_TYPE_SCALAR_MASK_SAE, X86ISD::VFPEXTS,1675                       X86ISD::VFPEXTS_SAE),1676    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtsh2ss_round,1677                       INTR_TYPE_SCALAR_MASK_SAE, X86ISD::VFPEXTS,1678                       X86ISD::VFPEXTS_SAE),1679    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtss2sh_round,1680                       INTR_TYPE_SCALAR_MASK_RND, X86ISD::VFPROUNDS,1681                       X86ISD::VFPROUNDS_RND),1682    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2dq_128, INTR_TYPE_1OP_MASK,1683                       X86ISD::CVTTP2SI, 0),1684    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2dq_256, INTR_TYPE_1OP_MASK,1685                       X86ISD::CVTTP2SI, 0),1686    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2dq_512, INTR_TYPE_1OP_MASK_SAE,1687                       X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),1688    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2qq_128, INTR_TYPE_1OP_MASK,1689                       X86ISD::CVTTP2SI, 0),1690    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2qq_256, INTR_TYPE_1OP_MASK,1691                       X86ISD::CVTTP2SI, 0),1692    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2qq_512, INTR_TYPE_1OP_MASK_SAE,1693                       X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),1694    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2udq_128, INTR_TYPE_1OP_MASK,1695                       X86ISD::CVTTP2UI, 0),1696    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2udq_256, INTR_TYPE_1OP_MASK,1697                       X86ISD::CVTTP2UI, 0),1698    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2udq_512, INTR_TYPE_1OP_MASK_SAE,1699                       X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),1700    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2uqq_128, INTR_TYPE_1OP_MASK,1701                       X86ISD::CVTTP2UI, 0),1702    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2uqq_256, INTR_TYPE_1OP_MASK,1703                       X86ISD::CVTTP2UI, 0),1704    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2uqq_512, INTR_TYPE_1OP_MASK_SAE,1705                       X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),1706    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2uw_128, INTR_TYPE_1OP_MASK,1707                       X86ISD::CVTTP2UI, 0),1708    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2uw_256, INTR_TYPE_1OP_MASK,1709                       X86ISD::CVTTP2UI, 0),1710    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2uw_512, INTR_TYPE_1OP_MASK_SAE,1711                       X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),1712    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2w_128, INTR_TYPE_1OP_MASK,1713                       X86ISD::CVTTP2SI, 0),1714    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2w_256, INTR_TYPE_1OP_MASK,1715                       X86ISD::CVTTP2SI, 0),1716    X86_INTRINSIC_DATA(avx512fp16_mask_vcvttph2w_512, INTR_TYPE_1OP_MASK_SAE,1717                       X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),1718    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtudq2ph_128, TRUNCATE_TO_REG,1719                       X86ISD::CVTUI2P, X86ISD::MCVTUI2P),1720    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtuqq2ph_128, TRUNCATE_TO_REG,1721                       X86ISD::CVTUI2P, X86ISD::MCVTUI2P),1722    X86_INTRINSIC_DATA(avx512fp16_mask_vcvtuqq2ph_256, TRUNCATE_TO_REG,1723                       X86ISD::CVTUI2P, X86ISD::MCVTUI2P),1724    X86_INTRINSIC_DATA(avx512fp16_mask_vfcmadd_cph_128, CFMA_OP_MASK,1725                       X86ISD::VFCMADDC, 0),1726    X86_INTRINSIC_DATA(avx512fp16_mask_vfcmadd_cph_256, CFMA_OP_MASK,1727                       X86ISD::VFCMADDC, 0),1728    X86_INTRINSIC_DATA(avx512fp16_mask_vfcmadd_cph_512, CFMA_OP_MASK,1729                       X86ISD::VFCMADDC, X86ISD::VFCMADDC_RND),1730    X86_INTRINSIC_DATA(avx512fp16_mask_vfcmadd_csh, CFMA_OP_MASK,1731                       X86ISD::VFCMADDCSH, X86ISD::VFCMADDCSH_RND),1732    X86_INTRINSIC_DATA(avx512fp16_mask_vfcmul_cph_128, INTR_TYPE_2OP_MASK,1733                       X86ISD::VFCMULC, 0),1734    X86_INTRINSIC_DATA(avx512fp16_mask_vfcmul_cph_256, INTR_TYPE_2OP_MASK,1735                       X86ISD::VFCMULC, 0),1736    X86_INTRINSIC_DATA(avx512fp16_mask_vfcmul_cph_512, INTR_TYPE_2OP_MASK,1737                       X86ISD::VFCMULC, X86ISD::VFCMULC_RND),1738    X86_INTRINSIC_DATA(avx512fp16_mask_vfcmul_csh, INTR_TYPE_SCALAR_MASK,1739                       X86ISD::VFCMULCSH, X86ISD::VFCMULCSH_RND),1740    X86_INTRINSIC_DATA(avx512fp16_mask_vfmadd_cph_128, CFMA_OP_MASK,1741                       X86ISD::VFMADDC, 0),1742    X86_INTRINSIC_DATA(avx512fp16_mask_vfmadd_cph_256, CFMA_OP_MASK,1743                       X86ISD::VFMADDC, 0),1744    X86_INTRINSIC_DATA(avx512fp16_mask_vfmadd_cph_512, CFMA_OP_MASK,1745                       X86ISD::VFMADDC, X86ISD::VFMADDC_RND),1746    X86_INTRINSIC_DATA(avx512fp16_mask_vfmadd_csh, CFMA_OP_MASK,1747                       X86ISD::VFMADDCSH, X86ISD::VFMADDCSH_RND),1748    X86_INTRINSIC_DATA(avx512fp16_mask_vfmul_cph_128, INTR_TYPE_2OP_MASK,1749                       X86ISD::VFMULC, 0),1750    X86_INTRINSIC_DATA(avx512fp16_mask_vfmul_cph_256, INTR_TYPE_2OP_MASK,1751                       X86ISD::VFMULC, 0),1752    X86_INTRINSIC_DATA(avx512fp16_mask_vfmul_cph_512, INTR_TYPE_2OP_MASK,1753                       X86ISD::VFMULC, X86ISD::VFMULC_RND),1754    X86_INTRINSIC_DATA(avx512fp16_mask_vfmul_csh, INTR_TYPE_SCALAR_MASK,1755                       X86ISD::VFMULCSH, X86ISD::VFMULCSH_RND),1756    X86_INTRINSIC_DATA(avx512fp16_maskz_vfcmadd_cph_128, CFMA_OP_MASKZ,1757                       X86ISD::VFCMADDC, 0),1758    X86_INTRINSIC_DATA(avx512fp16_maskz_vfcmadd_cph_256, CFMA_OP_MASKZ,1759                       X86ISD::VFCMADDC, 0),1760    X86_INTRINSIC_DATA(avx512fp16_maskz_vfcmadd_cph_512, CFMA_OP_MASKZ,1761                       X86ISD::VFCMADDC, X86ISD::VFCMADDC_RND),1762    X86_INTRINSIC_DATA(avx512fp16_maskz_vfcmadd_csh, CFMA_OP_MASKZ,1763                       X86ISD::VFCMADDCSH, X86ISD::VFCMADDCSH_RND),1764    X86_INTRINSIC_DATA(avx512fp16_maskz_vfmadd_cph_128, CFMA_OP_MASKZ,1765                       X86ISD::VFMADDC, 0),1766    X86_INTRINSIC_DATA(avx512fp16_maskz_vfmadd_cph_256, CFMA_OP_MASKZ,1767                       X86ISD::VFMADDC, 0),1768    X86_INTRINSIC_DATA(avx512fp16_maskz_vfmadd_cph_512, CFMA_OP_MASKZ,1769                       X86ISD::VFMADDC, X86ISD::VFMADDC_RND),1770    X86_INTRINSIC_DATA(avx512fp16_maskz_vfmadd_csh, CFMA_OP_MASKZ,1771                       X86ISD::VFMADDCSH, X86ISD::VFMADDCSH_RND),1772    X86_INTRINSIC_DATA(avx512fp16_max_ph_128, INTR_TYPE_2OP, X86ISD::FMAX, 0),1773    X86_INTRINSIC_DATA(avx512fp16_max_ph_256, INTR_TYPE_2OP, X86ISD::FMAX, 0),1774    X86_INTRINSIC_DATA(avx512fp16_max_ph_512, INTR_TYPE_2OP_SAE, X86ISD::FMAX,1775                       X86ISD::FMAX_SAE),1776    X86_INTRINSIC_DATA(avx512fp16_min_ph_128, INTR_TYPE_2OP, X86ISD::FMIN, 0),1777    X86_INTRINSIC_DATA(avx512fp16_min_ph_256, INTR_TYPE_2OP, X86ISD::FMIN, 0),1778    X86_INTRINSIC_DATA(avx512fp16_min_ph_512, INTR_TYPE_2OP_SAE, X86ISD::FMIN,1779                       X86ISD::FMIN_SAE),1780    X86_INTRINSIC_DATA(avx512fp16_mul_ph_512, INTR_TYPE_2OP, ISD::FMUL,1781                       X86ISD::FMUL_RND),1782    X86_INTRINSIC_DATA(avx512fp16_sqrt_ph_512, INTR_TYPE_1OP, ISD::FSQRT,1783                       X86ISD::FSQRT_RND),1784    X86_INTRINSIC_DATA(avx512fp16_sub_ph_512, INTR_TYPE_2OP, ISD::FSUB,1785                       X86ISD::FSUB_RND),1786    X86_INTRINSIC_DATA(avx512fp16_vcomi_sh, COMI_RM, X86ISD::COMI,1787                       X86ISD::UCOMI),1788    /*fp16 scalar convert instruction*/1789    X86_INTRINSIC_DATA(avx512fp16_vcvtsh2si32, INTR_TYPE_1OP, X86ISD::CVTS2SI,1790                       X86ISD::CVTS2SI_RND),1791    X86_INTRINSIC_DATA(avx512fp16_vcvtsh2si64, INTR_TYPE_1OP, X86ISD::CVTS2SI,1792                       X86ISD::CVTS2SI_RND),1793    X86_INTRINSIC_DATA(avx512fp16_vcvtsh2usi32, INTR_TYPE_1OP, X86ISD::CVTS2UI,1794                       X86ISD::CVTS2UI_RND),1795    X86_INTRINSIC_DATA(avx512fp16_vcvtsh2usi64, INTR_TYPE_1OP, X86ISD::CVTS2UI,1796                       X86ISD::CVTS2UI_RND),1797    X86_INTRINSIC_DATA(avx512fp16_vcvtsi2sh, INTR_TYPE_2OP,1798                       X86ISD::SCALAR_SINT_TO_FP,1799                       X86ISD::SCALAR_SINT_TO_FP_RND),1800    X86_INTRINSIC_DATA(avx512fp16_vcvtsi642sh, INTR_TYPE_2OP,1801                       X86ISD::SCALAR_SINT_TO_FP,1802                       X86ISD::SCALAR_SINT_TO_FP_RND),1803    X86_INTRINSIC_DATA(avx512fp16_vcvttsh2si32, INTR_TYPE_1OP_SAE,1804                       X86ISD::CVTTS2SI, X86ISD::CVTTS2SI_SAE),1805    X86_INTRINSIC_DATA(avx512fp16_vcvttsh2si64, INTR_TYPE_1OP_SAE,1806                       X86ISD::CVTTS2SI, X86ISD::CVTTS2SI_SAE),1807    X86_INTRINSIC_DATA(avx512fp16_vcvttsh2usi32, INTR_TYPE_1OP_SAE,1808                       X86ISD::CVTTS2UI, X86ISD::CVTTS2UI_SAE),1809    X86_INTRINSIC_DATA(avx512fp16_vcvttsh2usi64, INTR_TYPE_1OP_SAE,1810                       X86ISD::CVTTS2UI, X86ISD::CVTTS2UI_SAE),1811    X86_INTRINSIC_DATA(avx512fp16_vcvtusi2sh, INTR_TYPE_2OP,1812                       X86ISD::SCALAR_UINT_TO_FP,1813                       X86ISD::SCALAR_UINT_TO_FP_RND),1814    X86_INTRINSIC_DATA(avx512fp16_vcvtusi642sh, INTR_TYPE_2OP,1815                       X86ISD::SCALAR_UINT_TO_FP,1816                       X86ISD::SCALAR_UINT_TO_FP_RND),1817    X86_INTRINSIC_DATA(avx512fp16_vfmadd_f16, INTR_TYPE_3OP, ISD::FMA,1818                       X86ISD::FMADD_RND),1819    X86_INTRINSIC_DATA(avx512fp16_vfmadd_ph_512, INTR_TYPE_3OP, ISD::FMA,1820                       X86ISD::FMADD_RND),1821    X86_INTRINSIC_DATA(avx512fp16_vfmaddsub_ph_128, INTR_TYPE_3OP,1822                       X86ISD::FMADDSUB, 0),1823    X86_INTRINSIC_DATA(avx512fp16_vfmaddsub_ph_256, INTR_TYPE_3OP,1824                       X86ISD::FMADDSUB, 0),1825    X86_INTRINSIC_DATA(avx512fp16_vfmaddsub_ph_512, INTR_TYPE_3OP,1826                       X86ISD::FMADDSUB, X86ISD::FMADDSUB_RND),1827    X86_INTRINSIC_DATA(bmi_bextr_32, INTR_TYPE_2OP, X86ISD::BEXTR, 0),1828    X86_INTRINSIC_DATA(bmi_bextr_64, INTR_TYPE_2OP, X86ISD::BEXTR, 0),1829    X86_INTRINSIC_DATA(bmi_bzhi_32, INTR_TYPE_2OP, X86ISD::BZHI, 0),1830    X86_INTRINSIC_DATA(bmi_bzhi_64, INTR_TYPE_2OP, X86ISD::BZHI, 0),1831    X86_INTRINSIC_DATA(bmi_pdep_32, INTR_TYPE_2OP, X86ISD::PDEP, 0),1832    X86_INTRINSIC_DATA(bmi_pdep_64, INTR_TYPE_2OP, X86ISD::PDEP, 0),1833    X86_INTRINSIC_DATA(bmi_pext_32, INTR_TYPE_2OP, X86ISD::PEXT, 0),1834    X86_INTRINSIC_DATA(bmi_pext_64, INTR_TYPE_2OP, X86ISD::PEXT, 0),1835    X86_INTRINSIC_DATA(fma_vfmaddsub_pd, INTR_TYPE_3OP, X86ISD::FMADDSUB, 0),1836    X86_INTRINSIC_DATA(fma_vfmaddsub_pd_256, INTR_TYPE_3OP, X86ISD::FMADDSUB,1837                       0),1838    X86_INTRINSIC_DATA(fma_vfmaddsub_ps, INTR_TYPE_3OP, X86ISD::FMADDSUB, 0),1839    X86_INTRINSIC_DATA(fma_vfmaddsub_ps_256, INTR_TYPE_3OP, X86ISD::FMADDSUB,1840                       0),1841 1842    X86_INTRINSIC_DATA(mmx_packssdw, INTR_TYPE_CAST_MMX, 0, 0),1843    X86_INTRINSIC_DATA(mmx_packsswb, INTR_TYPE_CAST_MMX, 0, 0),1844    X86_INTRINSIC_DATA(mmx_packuswb, INTR_TYPE_CAST_MMX, 0, 0),1845    X86_INTRINSIC_DATA(mmx_padd_b, INTR_TYPE_CAST_MMX, 0, 0),1846    X86_INTRINSIC_DATA(mmx_padd_d, INTR_TYPE_CAST_MMX, 0, 0),1847    X86_INTRINSIC_DATA(mmx_padd_q, INTR_TYPE_CAST_MMX, 0, 0),1848    X86_INTRINSIC_DATA(mmx_padd_w, INTR_TYPE_CAST_MMX, 0, 0),1849    X86_INTRINSIC_DATA(mmx_padds_b, INTR_TYPE_CAST_MMX, 0, 0),1850    X86_INTRINSIC_DATA(mmx_padds_w, INTR_TYPE_CAST_MMX, 0, 0),1851    X86_INTRINSIC_DATA(mmx_paddus_b, INTR_TYPE_CAST_MMX, 0, 0),1852    X86_INTRINSIC_DATA(mmx_paddus_w, INTR_TYPE_CAST_MMX, 0, 0),1853    X86_INTRINSIC_DATA(mmx_palignr_b, INTR_TYPE_CAST_MMX, 0, 0),1854    X86_INTRINSIC_DATA(mmx_pand, INTR_TYPE_CAST_MMX, 0, 0),1855    X86_INTRINSIC_DATA(mmx_pandn, INTR_TYPE_CAST_MMX, 0, 0),1856    X86_INTRINSIC_DATA(mmx_pavg_b, INTR_TYPE_CAST_MMX, 0, 0),1857    X86_INTRINSIC_DATA(mmx_pavg_w, INTR_TYPE_CAST_MMX, 0, 0),1858    X86_INTRINSIC_DATA(mmx_pcmpeq_b, INTR_TYPE_CAST_MMX, 0, 0),1859    X86_INTRINSIC_DATA(mmx_pcmpeq_d, INTR_TYPE_CAST_MMX, 0, 0),1860    X86_INTRINSIC_DATA(mmx_pcmpeq_w, INTR_TYPE_CAST_MMX, 0, 0),1861    X86_INTRINSIC_DATA(mmx_pcmpgt_b, INTR_TYPE_CAST_MMX, 0, 0),1862    X86_INTRINSIC_DATA(mmx_pcmpgt_d, INTR_TYPE_CAST_MMX, 0, 0),1863    X86_INTRINSIC_DATA(mmx_pcmpgt_w, INTR_TYPE_CAST_MMX, 0, 0),1864    X86_INTRINSIC_DATA(mmx_pextr_w, INTR_TYPE_CAST_MMX, 0, 0),1865    X86_INTRINSIC_DATA(mmx_pinsr_w, INTR_TYPE_CAST_MMX, 0, 0),1866    X86_INTRINSIC_DATA(mmx_pmadd_wd, INTR_TYPE_CAST_MMX, 0, 0),1867    X86_INTRINSIC_DATA(mmx_pmaxs_w, INTR_TYPE_CAST_MMX, 0, 0),1868    X86_INTRINSIC_DATA(mmx_pmaxu_b, INTR_TYPE_CAST_MMX, 0, 0),1869    X86_INTRINSIC_DATA(mmx_pmins_w, INTR_TYPE_CAST_MMX, 0, 0),1870    X86_INTRINSIC_DATA(mmx_pminu_b, INTR_TYPE_CAST_MMX, 0, 0),1871    X86_INTRINSIC_DATA(mmx_pmovmskb, INTR_TYPE_CAST_MMX, 0, 0),1872    X86_INTRINSIC_DATA(mmx_pmulh_w, INTR_TYPE_CAST_MMX, 0, 0),1873    X86_INTRINSIC_DATA(mmx_pmulhu_w, INTR_TYPE_CAST_MMX, 0, 0),1874    X86_INTRINSIC_DATA(mmx_pmull_w, INTR_TYPE_CAST_MMX, 0, 0),1875    X86_INTRINSIC_DATA(mmx_pmulu_dq, INTR_TYPE_CAST_MMX, 0, 0),1876    X86_INTRINSIC_DATA(mmx_por, INTR_TYPE_CAST_MMX, 0, 0),1877    X86_INTRINSIC_DATA(mmx_psad_bw, INTR_TYPE_CAST_MMX, 0, 0),1878    X86_INTRINSIC_DATA(mmx_psll_d, INTR_TYPE_CAST_MMX, 0, 0),1879    X86_INTRINSIC_DATA(mmx_psll_q, INTR_TYPE_CAST_MMX, 0, 0),1880    X86_INTRINSIC_DATA(mmx_psll_w, INTR_TYPE_CAST_MMX, 0, 0),1881    X86_INTRINSIC_DATA(mmx_pslli_d, INTR_TYPE_CAST_MMX, 0, 0),1882    X86_INTRINSIC_DATA(mmx_pslli_q, INTR_TYPE_CAST_MMX, 0, 0),1883    X86_INTRINSIC_DATA(mmx_pslli_w, INTR_TYPE_CAST_MMX, 0, 0),1884    X86_INTRINSIC_DATA(mmx_psra_d, INTR_TYPE_CAST_MMX, 0, 0),1885    X86_INTRINSIC_DATA(mmx_psra_w, INTR_TYPE_CAST_MMX, 0, 0),1886    X86_INTRINSIC_DATA(mmx_psrai_d, INTR_TYPE_CAST_MMX, 0, 0),1887    X86_INTRINSIC_DATA(mmx_psrai_w, INTR_TYPE_CAST_MMX, 0, 0),1888    X86_INTRINSIC_DATA(mmx_psrl_d, INTR_TYPE_CAST_MMX, 0, 0),1889    X86_INTRINSIC_DATA(mmx_psrl_q, INTR_TYPE_CAST_MMX, 0, 0),1890    X86_INTRINSIC_DATA(mmx_psrl_w, INTR_TYPE_CAST_MMX, 0, 0),1891    X86_INTRINSIC_DATA(mmx_psrli_d, INTR_TYPE_CAST_MMX, 0, 0),1892    X86_INTRINSIC_DATA(mmx_psrli_q, INTR_TYPE_CAST_MMX, 0, 0),1893    X86_INTRINSIC_DATA(mmx_psrli_w, INTR_TYPE_CAST_MMX, 0, 0),1894    X86_INTRINSIC_DATA(mmx_psub_b, INTR_TYPE_CAST_MMX, 0, 0),1895    X86_INTRINSIC_DATA(mmx_psub_d, INTR_TYPE_CAST_MMX, 0, 0),1896    X86_INTRINSIC_DATA(mmx_psub_q, INTR_TYPE_CAST_MMX, 0, 0),1897    X86_INTRINSIC_DATA(mmx_psub_w, INTR_TYPE_CAST_MMX, 0, 0),1898    X86_INTRINSIC_DATA(mmx_psubs_b, INTR_TYPE_CAST_MMX, 0, 0),1899    X86_INTRINSIC_DATA(mmx_psubs_w, INTR_TYPE_CAST_MMX, 0, 0),1900    X86_INTRINSIC_DATA(mmx_psubus_b, INTR_TYPE_CAST_MMX, 0, 0),1901    X86_INTRINSIC_DATA(mmx_psubus_w, INTR_TYPE_CAST_MMX, 0, 0),1902    X86_INTRINSIC_DATA(mmx_punpckhbw, INTR_TYPE_CAST_MMX, 0, 0),1903    X86_INTRINSIC_DATA(mmx_punpckhdq, INTR_TYPE_CAST_MMX, 0, 0),1904    X86_INTRINSIC_DATA(mmx_punpckhwd, INTR_TYPE_CAST_MMX, 0, 0),1905    X86_INTRINSIC_DATA(mmx_punpcklbw, INTR_TYPE_CAST_MMX, 0, 0),1906    X86_INTRINSIC_DATA(mmx_punpckldq, INTR_TYPE_CAST_MMX, 0, 0),1907    X86_INTRINSIC_DATA(mmx_punpcklwd, INTR_TYPE_CAST_MMX, 0, 0),1908    X86_INTRINSIC_DATA(mmx_pxor, INTR_TYPE_CAST_MMX, 0, 0),1909 1910    X86_INTRINSIC_DATA(sse_cmp_ps, INTR_TYPE_3OP, X86ISD::CMPP, 0),1911    X86_INTRINSIC_DATA(sse_cmp_ss, INTR_TYPE_3OP, X86ISD::FSETCC, 0),1912    X86_INTRINSIC_DATA(sse_comieq_ss, COMI, X86ISD::COMI, ISD::SETEQ),1913    X86_INTRINSIC_DATA(sse_comige_ss, COMI, X86ISD::COMI, ISD::SETGE),1914    X86_INTRINSIC_DATA(sse_comigt_ss, COMI, X86ISD::COMI, ISD::SETGT),1915    X86_INTRINSIC_DATA(sse_comile_ss, COMI, X86ISD::COMI, ISD::SETLE),1916    X86_INTRINSIC_DATA(sse_comilt_ss, COMI, X86ISD::COMI, ISD::SETLT),1917    X86_INTRINSIC_DATA(sse_comineq_ss, COMI, X86ISD::COMI, ISD::SETNE),1918    X86_INTRINSIC_DATA(sse_cvtpd2pi, INTR_TYPE_CAST_MMX, 0, 0),1919    X86_INTRINSIC_DATA(sse_cvtpi2pd, INTR_TYPE_CAST_MMX, 0, 0),1920    X86_INTRINSIC_DATA(sse_cvtpi2ps, INTR_TYPE_CAST_MMX, 0, 0),1921    X86_INTRINSIC_DATA(sse_cvtps2pi, INTR_TYPE_CAST_MMX, 0, 0),1922    X86_INTRINSIC_DATA(sse_cvtss2si, INTR_TYPE_1OP, X86ISD::CVTS2SI, 0),1923    X86_INTRINSIC_DATA(sse_cvtss2si64, INTR_TYPE_1OP, X86ISD::CVTS2SI, 0),1924    X86_INTRINSIC_DATA(sse_cvttpd2pi, INTR_TYPE_CAST_MMX, 0, 0),1925    X86_INTRINSIC_DATA(sse_cvttps2pi, INTR_TYPE_CAST_MMX, 0, 0),1926    X86_INTRINSIC_DATA(sse_cvttss2si, INTR_TYPE_1OP, X86ISD::CVTTS2SI, 0),1927    X86_INTRINSIC_DATA(sse_cvttss2si64, INTR_TYPE_1OP, X86ISD::CVTTS2SI, 0),1928    X86_INTRINSIC_DATA(sse_max_ps, INTR_TYPE_2OP, X86ISD::FMAX, 0),1929    X86_INTRINSIC_DATA(sse_max_ss, INTR_TYPE_2OP, X86ISD::FMAXS, 0),1930    X86_INTRINSIC_DATA(sse_min_ps, INTR_TYPE_2OP, X86ISD::FMIN, 0),1931    X86_INTRINSIC_DATA(sse_min_ss, INTR_TYPE_2OP, X86ISD::FMINS, 0),1932    X86_INTRINSIC_DATA(sse_movmsk_ps, INTR_TYPE_1OP, X86ISD::MOVMSK, 0),1933    X86_INTRINSIC_DATA(sse_pshuf_w, INTR_TYPE_CAST_MMX, 0, 0),1934    X86_INTRINSIC_DATA(sse_rcp_ps, INTR_TYPE_1OP, X86ISD::FRCP, 0),1935    X86_INTRINSIC_DATA(sse_rsqrt_ps, INTR_TYPE_1OP, X86ISD::FRSQRT, 0),1936    X86_INTRINSIC_DATA(sse_ucomieq_ss, COMI, X86ISD::UCOMI, ISD::SETEQ),1937    X86_INTRINSIC_DATA(sse_ucomige_ss, COMI, X86ISD::UCOMI, ISD::SETGE),1938    X86_INTRINSIC_DATA(sse_ucomigt_ss, COMI, X86ISD::UCOMI, ISD::SETGT),1939    X86_INTRINSIC_DATA(sse_ucomile_ss, COMI, X86ISD::UCOMI, ISD::SETLE),1940    X86_INTRINSIC_DATA(sse_ucomilt_ss, COMI, X86ISD::UCOMI, ISD::SETLT),1941    X86_INTRINSIC_DATA(sse_ucomineq_ss, COMI, X86ISD::UCOMI, ISD::SETNE),1942    X86_INTRINSIC_DATA(sse2_cmp_pd, INTR_TYPE_3OP, X86ISD::CMPP, 0),1943    X86_INTRINSIC_DATA(sse2_cmp_sd, INTR_TYPE_3OP, X86ISD::FSETCC, 0),1944    X86_INTRINSIC_DATA(sse2_comieq_sd, COMI, X86ISD::COMI, ISD::SETEQ),1945    X86_INTRINSIC_DATA(sse2_comige_sd, COMI, X86ISD::COMI, ISD::SETGE),1946    X86_INTRINSIC_DATA(sse2_comigt_sd, COMI, X86ISD::COMI, ISD::SETGT),1947    X86_INTRINSIC_DATA(sse2_comile_sd, COMI, X86ISD::COMI, ISD::SETLE),1948    X86_INTRINSIC_DATA(sse2_comilt_sd, COMI, X86ISD::COMI, ISD::SETLT),1949    X86_INTRINSIC_DATA(sse2_comineq_sd, COMI, X86ISD::COMI, ISD::SETNE),1950    X86_INTRINSIC_DATA(sse2_cvtpd2dq, INTR_TYPE_1OP, X86ISD::CVTP2SI, 0),1951    X86_INTRINSIC_DATA(sse2_cvtpd2ps, INTR_TYPE_1OP, X86ISD::VFPROUND, 0),1952    X86_INTRINSIC_DATA(sse2_cvtps2dq, INTR_TYPE_1OP, X86ISD::CVTP2SI, 0),1953    X86_INTRINSIC_DATA(sse2_cvtsd2si, INTR_TYPE_1OP, X86ISD::CVTS2SI, 0),1954    X86_INTRINSIC_DATA(sse2_cvtsd2si64, INTR_TYPE_1OP, X86ISD::CVTS2SI, 0),1955    X86_INTRINSIC_DATA(sse2_cvtsd2ss, INTR_TYPE_2OP, X86ISD::VFPROUNDS, 0),1956    X86_INTRINSIC_DATA(sse2_cvttpd2dq, INTR_TYPE_1OP, X86ISD::CVTTP2SI, 0),1957    X86_INTRINSIC_DATA(sse2_cvttps2dq, INTR_TYPE_1OP, X86ISD::CVTTP2SI, 0),1958    X86_INTRINSIC_DATA(sse2_cvttsd2si, INTR_TYPE_1OP, X86ISD::CVTTS2SI, 0),1959    X86_INTRINSIC_DATA(sse2_cvttsd2si64, INTR_TYPE_1OP, X86ISD::CVTTS2SI, 0),1960    X86_INTRINSIC_DATA(sse2_max_pd, INTR_TYPE_2OP, X86ISD::FMAX, 0),1961    X86_INTRINSIC_DATA(sse2_max_sd, INTR_TYPE_2OP, X86ISD::FMAXS, 0),1962    X86_INTRINSIC_DATA(sse2_min_pd, INTR_TYPE_2OP, X86ISD::FMIN, 0),1963    X86_INTRINSIC_DATA(sse2_min_sd, INTR_TYPE_2OP, X86ISD::FMINS, 0),1964    X86_INTRINSIC_DATA(sse2_movmsk_pd, INTR_TYPE_1OP, X86ISD::MOVMSK, 0),1965    X86_INTRINSIC_DATA(sse2_packssdw_128, INTR_TYPE_2OP, X86ISD::PACKSS, 0),1966    X86_INTRINSIC_DATA(sse2_packsswb_128, INTR_TYPE_2OP, X86ISD::PACKSS, 0),1967    X86_INTRINSIC_DATA(sse2_packuswb_128, INTR_TYPE_2OP, X86ISD::PACKUS, 0),1968    X86_INTRINSIC_DATA(sse2_pavg_b, INTR_TYPE_2OP, ISD::AVGCEILU, 0),1969    X86_INTRINSIC_DATA(sse2_pavg_w, INTR_TYPE_2OP, ISD::AVGCEILU, 0),1970    X86_INTRINSIC_DATA(sse2_pmadd_wd, INTR_TYPE_2OP, X86ISD::VPMADDWD, 0),1971    X86_INTRINSIC_DATA(sse2_pmovmskb_128, INTR_TYPE_1OP, X86ISD::MOVMSK, 0),1972    X86_INTRINSIC_DATA(sse2_pmulh_w, INTR_TYPE_2OP, ISD::MULHS, 0),1973    X86_INTRINSIC_DATA(sse2_pmulhu_w, INTR_TYPE_2OP, ISD::MULHU, 0),1974    X86_INTRINSIC_DATA(sse2_psad_bw, INTR_TYPE_2OP, X86ISD::PSADBW, 0),1975    X86_INTRINSIC_DATA(sse2_psll_d, INTR_TYPE_2OP, X86ISD::VSHL, 0),1976    X86_INTRINSIC_DATA(sse2_psll_q, INTR_TYPE_2OP, X86ISD::VSHL, 0),1977    X86_INTRINSIC_DATA(sse2_psll_w, INTR_TYPE_2OP, X86ISD::VSHL, 0),1978    X86_INTRINSIC_DATA(sse2_pslli_d, VSHIFT, X86ISD::VSHLI, 0),1979    X86_INTRINSIC_DATA(sse2_pslli_q, VSHIFT, X86ISD::VSHLI, 0),1980    X86_INTRINSIC_DATA(sse2_pslli_w, VSHIFT, X86ISD::VSHLI, 0),1981    X86_INTRINSIC_DATA(sse2_psra_d, INTR_TYPE_2OP, X86ISD::VSRA, 0),1982    X86_INTRINSIC_DATA(sse2_psra_w, INTR_TYPE_2OP, X86ISD::VSRA, 0),1983    X86_INTRINSIC_DATA(sse2_psrai_d, VSHIFT, X86ISD::VSRAI, 0),1984    X86_INTRINSIC_DATA(sse2_psrai_w, VSHIFT, X86ISD::VSRAI, 0),1985    X86_INTRINSIC_DATA(sse2_psrl_d, INTR_TYPE_2OP, X86ISD::VSRL, 0),1986    X86_INTRINSIC_DATA(sse2_psrl_q, INTR_TYPE_2OP, X86ISD::VSRL, 0),1987    X86_INTRINSIC_DATA(sse2_psrl_w, INTR_TYPE_2OP, X86ISD::VSRL, 0),1988    X86_INTRINSIC_DATA(sse2_psrli_d, VSHIFT, X86ISD::VSRLI, 0),1989    X86_INTRINSIC_DATA(sse2_psrli_q, VSHIFT, X86ISD::VSRLI, 0),1990    X86_INTRINSIC_DATA(sse2_psrli_w, VSHIFT, X86ISD::VSRLI, 0),1991    X86_INTRINSIC_DATA(sse2_ucomieq_sd, COMI, X86ISD::UCOMI, ISD::SETEQ),1992    X86_INTRINSIC_DATA(sse2_ucomige_sd, COMI, X86ISD::UCOMI, ISD::SETGE),1993    X86_INTRINSIC_DATA(sse2_ucomigt_sd, COMI, X86ISD::UCOMI, ISD::SETGT),1994    X86_INTRINSIC_DATA(sse2_ucomile_sd, COMI, X86ISD::UCOMI, ISD::SETLE),1995    X86_INTRINSIC_DATA(sse2_ucomilt_sd, COMI, X86ISD::UCOMI, ISD::SETLT),1996    X86_INTRINSIC_DATA(sse2_ucomineq_sd, COMI, X86ISD::UCOMI, ISD::SETNE),1997    X86_INTRINSIC_DATA(sse3_addsub_pd, INTR_TYPE_2OP, X86ISD::ADDSUB, 0),1998    X86_INTRINSIC_DATA(sse3_addsub_ps, INTR_TYPE_2OP, X86ISD::ADDSUB, 0),1999    X86_INTRINSIC_DATA(sse3_hadd_pd, INTR_TYPE_2OP, X86ISD::FHADD, 0),2000    X86_INTRINSIC_DATA(sse3_hadd_ps, INTR_TYPE_2OP, X86ISD::FHADD, 0),2001    X86_INTRINSIC_DATA(sse3_hsub_pd, INTR_TYPE_2OP, X86ISD::FHSUB, 0),2002    X86_INTRINSIC_DATA(sse3_hsub_ps, INTR_TYPE_2OP, X86ISD::FHSUB, 0),2003    X86_INTRINSIC_DATA(sse41_blendvpd, BLENDV, X86ISD::BLENDV, 0),2004    X86_INTRINSIC_DATA(sse41_blendvps, BLENDV, X86ISD::BLENDV, 0),2005    X86_INTRINSIC_DATA(sse41_insertps, INTR_TYPE_3OP, X86ISD::INSERTPS, 0),2006    X86_INTRINSIC_DATA(sse41_mpsadbw, INTR_TYPE_3OP_IMM8, X86ISD::MPSADBW, 0),2007    X86_INTRINSIC_DATA(sse41_packusdw, INTR_TYPE_2OP, X86ISD::PACKUS, 0),2008    X86_INTRINSIC_DATA(sse41_pblendvb, BLENDV, X86ISD::BLENDV, 0),2009    X86_INTRINSIC_DATA(sse41_phminposuw, INTR_TYPE_1OP, X86ISD::PHMINPOS, 0),2010    X86_INTRINSIC_DATA(sse41_round_pd, ROUNDP, X86ISD::VRNDSCALE, 0),2011    X86_INTRINSIC_DATA(sse41_round_ps, ROUNDP, X86ISD::VRNDSCALE, 0),2012    X86_INTRINSIC_DATA(sse41_round_sd, ROUNDS, X86ISD::VRNDSCALES, 0),2013    X86_INTRINSIC_DATA(sse41_round_ss, ROUNDS, X86ISD::VRNDSCALES, 0),2014    X86_INTRINSIC_DATA(sse4a_extrqi, INTR_TYPE_3OP, X86ISD::EXTRQI, 0),2015    X86_INTRINSIC_DATA(sse4a_insertqi, INTR_TYPE_4OP_IMM8, X86ISD::INSERTQI, 0),2016    X86_INTRINSIC_DATA(ssse3_pabs_b, INTR_TYPE_CAST_MMX, 0, 0),2017    X86_INTRINSIC_DATA(ssse3_pabs_d, INTR_TYPE_CAST_MMX, 0, 0),2018    X86_INTRINSIC_DATA(ssse3_pabs_w, INTR_TYPE_CAST_MMX, 0, 0),2019    X86_INTRINSIC_DATA(ssse3_phadd_d, INTR_TYPE_CAST_MMX, 0, 0),2020    X86_INTRINSIC_DATA(ssse3_phadd_d_128, INTR_TYPE_2OP, X86ISD::HADD, 0),2021    X86_INTRINSIC_DATA(ssse3_phadd_sw, INTR_TYPE_CAST_MMX, 0, 0),2022    X86_INTRINSIC_DATA(ssse3_phadd_sw_128, INTR_TYPE_2OP, X86ISD::HADDS, 0),2023    X86_INTRINSIC_DATA(ssse3_phadd_w, INTR_TYPE_CAST_MMX, 0, 0),2024    X86_INTRINSIC_DATA(ssse3_phadd_w_128, INTR_TYPE_2OP, X86ISD::HADD, 0),2025    X86_INTRINSIC_DATA(ssse3_phsub_d, INTR_TYPE_CAST_MMX, 0, 0),2026    X86_INTRINSIC_DATA(ssse3_phsub_d_128, INTR_TYPE_2OP, X86ISD::HSUB, 0),2027    X86_INTRINSIC_DATA(ssse3_phsub_sw, INTR_TYPE_CAST_MMX, 0, 0),2028    X86_INTRINSIC_DATA(ssse3_phsub_sw_128, INTR_TYPE_2OP, X86ISD::HSUBS, 0),2029    X86_INTRINSIC_DATA(ssse3_phsub_w, INTR_TYPE_CAST_MMX, 0, 0),2030    X86_INTRINSIC_DATA(ssse3_phsub_w_128, INTR_TYPE_2OP, X86ISD::HSUB, 0),2031    X86_INTRINSIC_DATA(ssse3_pmadd_ub_sw, INTR_TYPE_CAST_MMX, 0, 0),2032    X86_INTRINSIC_DATA(ssse3_pmadd_ub_sw_128, INTR_TYPE_2OP, X86ISD::VPMADDUBSW,2033                       0),2034    X86_INTRINSIC_DATA(ssse3_pmul_hr_sw, INTR_TYPE_CAST_MMX, 0, 0),2035    X86_INTRINSIC_DATA(ssse3_pmul_hr_sw_128, INTR_TYPE_2OP, X86ISD::MULHRS, 0),2036    X86_INTRINSIC_DATA(ssse3_pshuf_b, INTR_TYPE_CAST_MMX, 0, 0),2037    X86_INTRINSIC_DATA(ssse3_pshuf_b_128, INTR_TYPE_2OP, X86ISD::PSHUFB, 0),2038    X86_INTRINSIC_DATA(ssse3_psign_b, INTR_TYPE_CAST_MMX, 0, 0),2039    X86_INTRINSIC_DATA(ssse3_psign_d, INTR_TYPE_CAST_MMX, 0, 0),2040    X86_INTRINSIC_DATA(ssse3_psign_w, INTR_TYPE_CAST_MMX, 0, 0),2041    X86_INTRINSIC_DATA(subborrow_32, ADX, X86ISD::SBB, X86ISD::SUB),2042    X86_INTRINSIC_DATA(subborrow_64, ADX, X86ISD::SBB, X86ISD::SUB),2043    X86_INTRINSIC_DATA(tbm_bextri_u32, BEXTRI, X86ISD::BEXTRI, 0),2044    X86_INTRINSIC_DATA(tbm_bextri_u64, BEXTRI, X86ISD::BEXTRI, 0),2045    X86_INTRINSIC_DATA(vcvtps2ph_128, INTR_TYPE_2OP, X86ISD::CVTPS2PH, 0),2046    X86_INTRINSIC_DATA(vcvtps2ph_256, INTR_TYPE_2OP, X86ISD::CVTPS2PH, 0),2047 2048    X86_INTRINSIC_DATA(vgf2p8affineinvqb_128, INTR_TYPE_3OP,2049                       X86ISD::GF2P8AFFINEINVQB, 0),2050    X86_INTRINSIC_DATA(vgf2p8affineinvqb_256, INTR_TYPE_3OP,2051                       X86ISD::GF2P8AFFINEINVQB, 0),2052    X86_INTRINSIC_DATA(vgf2p8affineinvqb_512, INTR_TYPE_3OP,2053                       X86ISD::GF2P8AFFINEINVQB, 0),2054    X86_INTRINSIC_DATA(vgf2p8affineqb_128, INTR_TYPE_3OP, X86ISD::GF2P8AFFINEQB,2055                       0),2056    X86_INTRINSIC_DATA(vgf2p8affineqb_256, INTR_TYPE_3OP, X86ISD::GF2P8AFFINEQB,2057                       0),2058    X86_INTRINSIC_DATA(vgf2p8affineqb_512, INTR_TYPE_3OP, X86ISD::GF2P8AFFINEQB,2059                       0),2060    X86_INTRINSIC_DATA(vgf2p8mulb_128, INTR_TYPE_2OP, X86ISD::GF2P8MULB, 0),2061    X86_INTRINSIC_DATA(vgf2p8mulb_256, INTR_TYPE_2OP, X86ISD::GF2P8MULB, 0),2062    X86_INTRINSIC_DATA(vgf2p8mulb_512, INTR_TYPE_2OP, X86ISD::GF2P8MULB, 0),2063 2064    X86_INTRINSIC_DATA(xop_vpermil2pd, INTR_TYPE_4OP_IMM8, X86ISD::VPERMIL2, 0),2065    X86_INTRINSIC_DATA(xop_vpermil2pd_256, INTR_TYPE_4OP_IMM8, X86ISD::VPERMIL2,2066                       0),2067    X86_INTRINSIC_DATA(xop_vpermil2ps, INTR_TYPE_4OP_IMM8, X86ISD::VPERMIL2, 0),2068    X86_INTRINSIC_DATA(xop_vpermil2ps_256, INTR_TYPE_4OP_IMM8, X86ISD::VPERMIL2,2069                       0),2070    X86_INTRINSIC_DATA(xop_vpperm, INTR_TYPE_3OP, X86ISD::VPPERM, 0),2071    X86_INTRINSIC_DATA(xop_vpshab, INTR_TYPE_2OP, X86ISD::VPSHA, 0),2072    X86_INTRINSIC_DATA(xop_vpshad, INTR_TYPE_2OP, X86ISD::VPSHA, 0),2073    X86_INTRINSIC_DATA(xop_vpshaq, INTR_TYPE_2OP, X86ISD::VPSHA, 0),2074    X86_INTRINSIC_DATA(xop_vpshaw, INTR_TYPE_2OP, X86ISD::VPSHA, 0),2075    X86_INTRINSIC_DATA(xop_vpshlb, INTR_TYPE_2OP, X86ISD::VPSHL, 0),2076    X86_INTRINSIC_DATA(xop_vpshld, INTR_TYPE_2OP, X86ISD::VPSHL, 0),2077    X86_INTRINSIC_DATA(xop_vpshlq, INTR_TYPE_2OP, X86ISD::VPSHL, 0),2078    X86_INTRINSIC_DATA(xop_vpshlw, INTR_TYPE_2OP, X86ISD::VPSHL, 0)};2079 2080/*2081 * Retrieve data for Intrinsic without chain.2082 * Return nullptr if intrinsic is not defined in the table.2083 */2084static const IntrinsicData *getIntrinsicWithoutChain(unsigned IntNo) {2085  const IntrinsicData *Data = lower_bound(IntrinsicsWithoutChain, IntNo);2086  if (Data != std::end(IntrinsicsWithoutChain) && Data->Id == IntNo)2087    return Data;2088  return nullptr;2089}2090 2091static void verifyIntrinsicTables() {2092  assert(llvm::is_sorted(IntrinsicsWithoutChain) &&2093         llvm::is_sorted(IntrinsicsWithChain) &&2094         "Intrinsic data tables should be sorted by Intrinsic ID");2095  assert((std::adjacent_find(std::begin(IntrinsicsWithoutChain),2096                             std::end(IntrinsicsWithoutChain)) ==2097          std::end(IntrinsicsWithoutChain)) &&2098         (std::adjacent_find(std::begin(IntrinsicsWithChain),2099                             std::end(IntrinsicsWithChain)) ==2100          std::end(IntrinsicsWithChain)) &&2101         "Intrinsic data tables should have unique entries");2102}2103} // namespace llvm2104 2105#endif2106