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