LLVM
22.0.0git
lib
Target
X86
X86IntrinsicsInfo.h
Go to the documentation of this file.
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-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file contains the details for lowering X86 intrinsics
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_LIB_TARGET_X86_X86INTRINSICSINFO_H
14
#define LLVM_LIB_TARGET_X86_X86INTRINSICSINFO_H
15
16
#include "
X86ISelLowering.h
"
17
#include "
X86InstrInfo.h
"
18
#include "llvm/IR/IntrinsicsX86.h"
19
20
namespace
llvm
{
21
22
enum
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_MMX
79
};
80
81
struct
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 - in
100
* the alphabetical order.
101
*/
102
static
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 ID
346
*/
347
static
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 - in
356
* the alphabetical order.
357
*/
358
static
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_w,
INTR_TYPE_2OP
,
X86ISD::HADD
, 0),
728
X86_INTRINSIC_DATA
(avx2_phsub_d,
INTR_TYPE_2OP
,
X86ISD::HSUB
, 0),
729
X86_INTRINSIC_DATA
(avx2_phsub_w,
INTR_TYPE_2OP
,
X86ISD::HSUB
, 0),
730
X86_INTRINSIC_DATA
(avx2_pmadd_ub_sw,
INTR_TYPE_2OP
,
X86ISD::VPMADDUBSW
, 0),
731
X86_INTRINSIC_DATA
(avx2_pmadd_wd,
INTR_TYPE_2OP
,
X86ISD::VPMADDWD
, 0),
732
X86_INTRINSIC_DATA
(avx2_pmovmskb,
INTR_TYPE_1OP
,
X86ISD::MOVMSK
, 0),
733
X86_INTRINSIC_DATA
(avx2_pmul_hr_sw,
INTR_TYPE_2OP
,
X86ISD::MULHRS
, 0),
734
X86_INTRINSIC_DATA
(avx2_pmulh_w,
INTR_TYPE_2OP
,
ISD::MULHS
, 0),
735
X86_INTRINSIC_DATA
(avx2_pmulhu_w,
INTR_TYPE_2OP
,
ISD::MULHU
, 0),
736
X86_INTRINSIC_DATA
(avx2_psad_bw,
INTR_TYPE_2OP
,
X86ISD::PSADBW
, 0),
737
X86_INTRINSIC_DATA
(avx2_pshuf_b,
INTR_TYPE_2OP
,
X86ISD::PSHUFB
, 0),
738
X86_INTRINSIC_DATA
(avx2_psll_d,
INTR_TYPE_2OP
,
X86ISD::VSHL
, 0),
739
X86_INTRINSIC_DATA
(avx2_psll_q,
INTR_TYPE_2OP
,
X86ISD::VSHL
, 0),
740
X86_INTRINSIC_DATA
(avx2_psll_w,
INTR_TYPE_2OP
,
X86ISD::VSHL
, 0),
741
X86_INTRINSIC_DATA
(avx2_pslli_d,
VSHIFT
,
X86ISD::VSHLI
, 0),
742
X86_INTRINSIC_DATA
(avx2_pslli_q,
VSHIFT
,
X86ISD::VSHLI
, 0),
743
X86_INTRINSIC_DATA
(avx2_pslli_w,
VSHIFT
,
X86ISD::VSHLI
, 0),
744
X86_INTRINSIC_DATA
(avx2_psllv_d,
INTR_TYPE_2OP
,
X86ISD::VSHLV
, 0),
745
X86_INTRINSIC_DATA
(avx2_psllv_d_256,
INTR_TYPE_2OP
,
X86ISD::VSHLV
, 0),
746
X86_INTRINSIC_DATA
(avx2_psllv_q,
INTR_TYPE_2OP
,
X86ISD::VSHLV
, 0),
747
X86_INTRINSIC_DATA
(avx2_psllv_q_256,
INTR_TYPE_2OP
,
X86ISD::VSHLV
, 0),
748
X86_INTRINSIC_DATA
(avx2_psra_d,
INTR_TYPE_2OP
,
X86ISD::VSRA
, 0),
749
X86_INTRINSIC_DATA
(avx2_psra_w,
INTR_TYPE_2OP
,
X86ISD::VSRA
, 0),
750
X86_INTRINSIC_DATA
(avx2_psrai_d,
VSHIFT
,
X86ISD::VSRAI
, 0),
751
X86_INTRINSIC_DATA
(avx2_psrai_w,
VSHIFT
,
X86ISD::VSRAI
, 0),
752
X86_INTRINSIC_DATA
(avx2_psrav_d,
INTR_TYPE_2OP
,
X86ISD::VSRAV
, 0),
753
X86_INTRINSIC_DATA
(avx2_psrav_d_256,
INTR_TYPE_2OP
,
X86ISD::VSRAV
, 0),
754
X86_INTRINSIC_DATA
(avx2_psrl_d,
INTR_TYPE_2OP
,
X86ISD::VSRL
, 0),
755
X86_INTRINSIC_DATA
(avx2_psrl_q,
INTR_TYPE_2OP
,
X86ISD::VSRL
, 0),
756
X86_INTRINSIC_DATA
(avx2_psrl_w,
INTR_TYPE_2OP
,
X86ISD::VSRL
, 0),
757
X86_INTRINSIC_DATA
(avx2_psrli_d,
VSHIFT
,
X86ISD::VSRLI
, 0),
758
X86_INTRINSIC_DATA
(avx2_psrli_q,
VSHIFT
,
X86ISD::VSRLI
, 0),
759
X86_INTRINSIC_DATA
(avx2_psrli_w,
VSHIFT
,
X86ISD::VSRLI
, 0),
760
X86_INTRINSIC_DATA
(avx2_psrlv_d,
INTR_TYPE_2OP
,
X86ISD::VSRLV
, 0),
761
X86_INTRINSIC_DATA
(avx2_psrlv_d_256,
INTR_TYPE_2OP
,
X86ISD::VSRLV
, 0),
762
X86_INTRINSIC_DATA
(avx2_psrlv_q,
INTR_TYPE_2OP
,
X86ISD::VSRLV
, 0),
763
X86_INTRINSIC_DATA
(avx2_psrlv_q_256,
INTR_TYPE_2OP
,
X86ISD::VSRLV
, 0),
764
X86_INTRINSIC_DATA
(avx2_vpdpbssd_128,
INTR_TYPE_3OP
,
X86ISD::VPDPBSSD
, 0),
765
X86_INTRINSIC_DATA
(avx2_vpdpbssd_256,
INTR_TYPE_3OP
,
X86ISD::VPDPBSSD
, 0),
766
X86_INTRINSIC_DATA
(avx2_vpdpbssds_128,
INTR_TYPE_3OP
,
X86ISD::VPDPBSSDS
, 0),
767
X86_INTRINSIC_DATA
(avx2_vpdpbssds_256,
INTR_TYPE_3OP
,
X86ISD::VPDPBSSDS
, 0),
768
X86_INTRINSIC_DATA
(avx2_vpdpbsud_128,
INTR_TYPE_3OP
,
X86ISD::VPDPBSUD
, 0),
769
X86_INTRINSIC_DATA
(avx2_vpdpbsud_256,
INTR_TYPE_3OP
,
X86ISD::VPDPBSUD
, 0),
770
X86_INTRINSIC_DATA
(avx2_vpdpbsuds_128,
INTR_TYPE_3OP
,
X86ISD::VPDPBSUDS
, 0),
771
X86_INTRINSIC_DATA
(avx2_vpdpbsuds_256,
INTR_TYPE_3OP
,
X86ISD::VPDPBSUDS
, 0),
772
X86_INTRINSIC_DATA
(avx2_vpdpbuud_128,
INTR_TYPE_3OP
,
X86ISD::VPDPBUUD
, 0),
773
X86_INTRINSIC_DATA
(avx2_vpdpbuud_256,
INTR_TYPE_3OP
,
X86ISD::VPDPBUUD
, 0),
774
X86_INTRINSIC_DATA
(avx2_vpdpbuuds_128,
INTR_TYPE_3OP
,
X86ISD::VPDPBUUDS
, 0),
775
X86_INTRINSIC_DATA
(avx2_vpdpbuuds_256,
INTR_TYPE_3OP
,
X86ISD::VPDPBUUDS
, 0),
776
X86_INTRINSIC_DATA
(avx2_vpdpwsud_128,
INTR_TYPE_3OP
,
X86ISD::VPDPWSUD
, 0),
777
X86_INTRINSIC_DATA
(avx2_vpdpwsud_256,
INTR_TYPE_3OP
,
X86ISD::VPDPWSUD
, 0),
778
X86_INTRINSIC_DATA
(avx2_vpdpwsuds_128,
INTR_TYPE_3OP
,
X86ISD::VPDPWSUDS
, 0),
779
X86_INTRINSIC_DATA
(avx2_vpdpwsuds_256,
INTR_TYPE_3OP
,
X86ISD::VPDPWSUDS
, 0),
780
X86_INTRINSIC_DATA
(avx2_vpdpwusd_128,
INTR_TYPE_3OP
,
X86ISD::VPDPWUSD
, 0),
781
X86_INTRINSIC_DATA
(avx2_vpdpwusd_256,
INTR_TYPE_3OP
,
X86ISD::VPDPWUSD
, 0),
782
X86_INTRINSIC_DATA
(avx2_vpdpwusds_128,
INTR_TYPE_3OP
,
X86ISD::VPDPWUSDS
, 0),
783
X86_INTRINSIC_DATA
(avx2_vpdpwusds_256,
INTR_TYPE_3OP
,
X86ISD::VPDPWUSDS
, 0),
784
X86_INTRINSIC_DATA
(avx2_vpdpwuud_128,
INTR_TYPE_3OP
,
X86ISD::VPDPWUUD
, 0),
785
X86_INTRINSIC_DATA
(avx2_vpdpwuud_256,
INTR_TYPE_3OP
,
X86ISD::VPDPWUUD
, 0),
786
X86_INTRINSIC_DATA
(avx2_vpdpwuuds_128,
INTR_TYPE_3OP
,
X86ISD::VPDPWUUDS
, 0),
787
X86_INTRINSIC_DATA
(avx2_vpdpwuuds_256,
INTR_TYPE_3OP
,
X86ISD::VPDPWUUDS
, 0),
788
X86_INTRINSIC_DATA
(avx512_add_pd_512,
INTR_TYPE_2OP
,
ISD::FADD
,
789
X86ISD::FADD_RND
),
790
X86_INTRINSIC_DATA
(avx512_add_ps_512,
INTR_TYPE_2OP
,
ISD::FADD
,
791
X86ISD::FADD_RND
),
792
X86_INTRINSIC_DATA
(avx512_conflict_d_128,
INTR_TYPE_1OP
,
X86ISD::CONFLICT
,
793
0),
794
X86_INTRINSIC_DATA
(avx512_conflict_d_256,
INTR_TYPE_1OP
,
X86ISD::CONFLICT
,
795
0),
796
X86_INTRINSIC_DATA
(avx512_conflict_d_512,
INTR_TYPE_1OP
,
X86ISD::CONFLICT
,
797
0),
798
X86_INTRINSIC_DATA
(avx512_conflict_q_128,
INTR_TYPE_1OP
,
X86ISD::CONFLICT
,
799
0),
800
X86_INTRINSIC_DATA
(avx512_conflict_q_256,
INTR_TYPE_1OP
,
X86ISD::CONFLICT
,
801
0),
802
X86_INTRINSIC_DATA
(avx512_conflict_q_512,
INTR_TYPE_1OP
,
X86ISD::CONFLICT
,
803
0),
804
X86_INTRINSIC_DATA
(avx512_cvtsi2sd64,
INTR_TYPE_2OP
,
805
X86ISD::SCALAR_SINT_TO_FP
,
806
X86ISD::SCALAR_SINT_TO_FP_RND
),
807
X86_INTRINSIC_DATA
(avx512_cvtsi2ss32,
INTR_TYPE_2OP
,
808
X86ISD::SCALAR_SINT_TO_FP
,
809
X86ISD::SCALAR_SINT_TO_FP_RND
),
810
X86_INTRINSIC_DATA
(avx512_cvtsi2ss64,
INTR_TYPE_2OP
,
811
X86ISD::SCALAR_SINT_TO_FP
,
812
X86ISD::SCALAR_SINT_TO_FP_RND
),
813
X86_INTRINSIC_DATA
(avx512_cvttsd2si,
INTR_TYPE_1OP_SAE
,
X86ISD::CVTTS2SI
,
814
X86ISD::CVTTS2SI_SAE
),
815
X86_INTRINSIC_DATA
(avx512_cvttsd2si64,
INTR_TYPE_1OP_SAE
,
X86ISD::CVTTS2SI
,
816
X86ISD::CVTTS2SI_SAE
),
817
X86_INTRINSIC_DATA
(avx512_cvttsd2usi,
INTR_TYPE_1OP_SAE
,
X86ISD::CVTTS2UI
,
818
X86ISD::CVTTS2UI_SAE
),
819
X86_INTRINSIC_DATA
(avx512_cvttsd2usi64,
INTR_TYPE_1OP_SAE
,
X86ISD::CVTTS2UI
,
820
X86ISD::CVTTS2UI_SAE
),
821
X86_INTRINSIC_DATA
(avx512_cvttss2si,
INTR_TYPE_1OP_SAE
,
X86ISD::CVTTS2SI
,
822
X86ISD::CVTTS2SI_SAE
),
823
X86_INTRINSIC_DATA
(avx512_cvttss2si64,
INTR_TYPE_1OP_SAE
,
X86ISD::CVTTS2SI
,
824
X86ISD::CVTTS2SI_SAE
),
825
X86_INTRINSIC_DATA
(avx512_cvttss2usi,
INTR_TYPE_1OP_SAE
,
X86ISD::CVTTS2UI
,
826
X86ISD::CVTTS2UI_SAE
),
827
X86_INTRINSIC_DATA
(avx512_cvttss2usi64,
INTR_TYPE_1OP_SAE
,
X86ISD::CVTTS2UI
,
828
X86ISD::CVTTS2UI_SAE
),
829
X86_INTRINSIC_DATA
(avx512_cvtusi2ss,
INTR_TYPE_2OP
,
830
X86ISD::SCALAR_UINT_TO_FP
,
831
X86ISD::SCALAR_UINT_TO_FP_RND
),
832
X86_INTRINSIC_DATA
(avx512_cvtusi642sd,
INTR_TYPE_2OP
,
833
X86ISD::SCALAR_UINT_TO_FP
,
834
X86ISD::SCALAR_UINT_TO_FP_RND
),
835
X86_INTRINSIC_DATA
(avx512_cvtusi642ss,
INTR_TYPE_2OP
,
836
X86ISD::SCALAR_UINT_TO_FP
,
837
X86ISD::SCALAR_UINT_TO_FP_RND
),
838
X86_INTRINSIC_DATA
(avx512_dbpsadbw_128,
INTR_TYPE_3OP_IMM8
,
839
X86ISD::DBPSADBW
, 0),
840
X86_INTRINSIC_DATA
(avx512_dbpsadbw_256,
INTR_TYPE_3OP_IMM8
,
841
X86ISD::DBPSADBW
, 0),
842
X86_INTRINSIC_DATA
(avx512_dbpsadbw_512,
INTR_TYPE_3OP_IMM8
,
843
X86ISD::DBPSADBW
, 0),
844
X86_INTRINSIC_DATA
(avx512_div_pd_512,
INTR_TYPE_2OP
,
ISD::FDIV
,
845
X86ISD::FDIV_RND
),
846
X86_INTRINSIC_DATA
(avx512_div_ps_512,
INTR_TYPE_2OP
,
ISD::FDIV
,
847
X86ISD::FDIV_RND
),
848
X86_INTRINSIC_DATA
(avx512_fpclass_pd_128,
INTR_TYPE_2OP
,
X86ISD::VFPCLASS
,
849
0),
850
X86_INTRINSIC_DATA
(avx512_fpclass_pd_256,
INTR_TYPE_2OP
,
X86ISD::VFPCLASS
,
851
0),
852
X86_INTRINSIC_DATA
(avx512_fpclass_pd_512,
INTR_TYPE_2OP
,
X86ISD::VFPCLASS
,
853
0),
854
X86_INTRINSIC_DATA
(avx512_fpclass_ps_128,
INTR_TYPE_2OP
,
X86ISD::VFPCLASS
,
855
0),
856
X86_INTRINSIC_DATA
(avx512_fpclass_ps_256,
INTR_TYPE_2OP
,
X86ISD::VFPCLASS
,
857
0),
858
X86_INTRINSIC_DATA
(avx512_fpclass_ps_512,
INTR_TYPE_2OP
,
X86ISD::VFPCLASS
,
859
0),
860
X86_INTRINSIC_DATA
(avx512_kadd_b,
INTR_TYPE_2OP
,
X86ISD::KADD
, 0),
861
X86_INTRINSIC_DATA
(avx512_kadd_d,
INTR_TYPE_2OP
,
X86ISD::KADD
, 0),
862
X86_INTRINSIC_DATA
(avx512_kadd_q,
INTR_TYPE_2OP
,
X86ISD::KADD
, 0),
863
X86_INTRINSIC_DATA
(avx512_kadd_w,
INTR_TYPE_2OP
,
X86ISD::KADD
, 0),
864
X86_INTRINSIC_DATA
(avx512_mask_add_sd_round,
INTR_TYPE_SCALAR_MASK
,
865
X86ISD::FADDS
,
X86ISD::FADDS_RND
),
866
X86_INTRINSIC_DATA
(avx512_mask_add_ss_round,
INTR_TYPE_SCALAR_MASK
,
867
X86ISD::FADDS
,
X86ISD::FADDS_RND
),
868
X86_INTRINSIC_DATA
(avx512_mask_cmp_pd_128,
CMP_MASK_CC
,
X86ISD::CMPMM
, 0),
869
X86_INTRINSIC_DATA
(avx512_mask_cmp_pd_256,
CMP_MASK_CC
,
X86ISD::CMPMM
, 0),
870
X86_INTRINSIC_DATA
(avx512_mask_cmp_pd_512,
CMP_MASK_CC
,
X86ISD::CMPMM
,
871
X86ISD::CMPMM_SAE
),
872
X86_INTRINSIC_DATA
(avx512_mask_cmp_ps_128,
CMP_MASK_CC
,
X86ISD::CMPMM
, 0),
873
X86_INTRINSIC_DATA
(avx512_mask_cmp_ps_256,
CMP_MASK_CC
,
X86ISD::CMPMM
, 0),
874
X86_INTRINSIC_DATA
(avx512_mask_cmp_ps_512,
CMP_MASK_CC
,
X86ISD::CMPMM
,
875
X86ISD::CMPMM_SAE
),
876
X86_INTRINSIC_DATA
(avx512_mask_cmp_sd,
CMP_MASK_SCALAR_CC
,
X86ISD::FSETCCM
,
877
X86ISD::FSETCCM_SAE
),
878
X86_INTRINSIC_DATA
(avx512_mask_cmp_ss,
CMP_MASK_SCALAR_CC
,
X86ISD::FSETCCM
,
879
X86ISD::FSETCCM_SAE
),
880
881
X86_INTRINSIC_DATA
(avx512_mask_compress,
COMPRESS_EXPAND_IN_REG
,
882
X86ISD::COMPRESS
, 0),
883
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2dq_128,
CVTPD2DQ_MASK
,
X86ISD::CVTP2SI
,
884
X86ISD::MCVTP2SI
),
885
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2dq_512,
INTR_TYPE_1OP_MASK
,
886
X86ISD::CVTP2SI
,
X86ISD::CVTP2SI_RND
),
887
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2ps,
CVTPD2PS_MASK
,
X86ISD::VFPROUND
,
888
X86ISD::VMFPROUND
),
889
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2ps_512,
INTR_TYPE_1OP_MASK
,
890
X86ISD::VFPROUND
,
X86ISD::VFPROUND_RND
),
891
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2qq_128,
INTR_TYPE_1OP_MASK
,
892
X86ISD::CVTP2SI
, 0),
893
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2qq_256,
INTR_TYPE_1OP_MASK
,
894
X86ISD::CVTP2SI
, 0),
895
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2qq_512,
INTR_TYPE_1OP_MASK
,
896
X86ISD::CVTP2SI
,
X86ISD::CVTP2SI_RND
),
897
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2udq_128,
CVTPD2DQ_MASK
,
898
X86ISD::CVTP2UI
,
X86ISD::MCVTP2UI
),
899
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2udq_256,
INTR_TYPE_1OP_MASK
,
900
X86ISD::CVTP2UI
, 0),
901
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2udq_512,
INTR_TYPE_1OP_MASK
,
902
X86ISD::CVTP2UI
,
X86ISD::CVTP2UI_RND
),
903
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2uqq_128,
INTR_TYPE_1OP_MASK
,
904
X86ISD::CVTP2UI
, 0),
905
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2uqq_256,
INTR_TYPE_1OP_MASK
,
906
X86ISD::CVTP2UI
, 0),
907
X86_INTRINSIC_DATA
(avx512_mask_cvtpd2uqq_512,
INTR_TYPE_1OP_MASK
,
908
X86ISD::CVTP2UI
,
X86ISD::CVTP2UI_RND
),
909
X86_INTRINSIC_DATA
(avx512_mask_cvtps2dq_128,
INTR_TYPE_1OP_MASK
,
910
X86ISD::CVTP2SI
, 0),
911
X86_INTRINSIC_DATA
(avx512_mask_cvtps2dq_256,
INTR_TYPE_1OP_MASK
,
912
X86ISD::CVTP2SI
, 0),
913
X86_INTRINSIC_DATA
(avx512_mask_cvtps2dq_512,
INTR_TYPE_1OP_MASK
,
914
X86ISD::CVTP2SI
,
X86ISD::CVTP2SI_RND
),
915
X86_INTRINSIC_DATA
(avx512_mask_cvtps2pd_512,
INTR_TYPE_1OP_MASK_SAE
,
916
ISD::FP_EXTEND,
X86ISD::VFPEXT_SAE
),
917
X86_INTRINSIC_DATA
(avx512_mask_cvtps2qq_128,
INTR_TYPE_1OP_MASK
,
918
X86ISD::CVTP2SI
, 0),
919
X86_INTRINSIC_DATA
(avx512_mask_cvtps2qq_256,
INTR_TYPE_1OP_MASK
,
920
X86ISD::CVTP2SI
, 0),
921
X86_INTRINSIC_DATA
(avx512_mask_cvtps2qq_512,
INTR_TYPE_1OP_MASK
,
922
X86ISD::CVTP2SI
,
X86ISD::CVTP2SI_RND
),
923
X86_INTRINSIC_DATA
(avx512_mask_cvtps2udq_128,
INTR_TYPE_1OP_MASK
,
924
X86ISD::CVTP2UI
, 0),
925
X86_INTRINSIC_DATA
(avx512_mask_cvtps2udq_256,
INTR_TYPE_1OP_MASK
,
926
X86ISD::CVTP2UI
, 0),
927
X86_INTRINSIC_DATA
(avx512_mask_cvtps2udq_512,
INTR_TYPE_1OP_MASK
,
928
X86ISD::CVTP2UI
,
X86ISD::CVTP2UI_RND
),
929
X86_INTRINSIC_DATA
(avx512_mask_cvtps2uqq_128,
INTR_TYPE_1OP_MASK
,
930
X86ISD::CVTP2UI
, 0),
931
X86_INTRINSIC_DATA
(avx512_mask_cvtps2uqq_256,
INTR_TYPE_1OP_MASK
,
932
X86ISD::CVTP2UI
, 0),
933
X86_INTRINSIC_DATA
(avx512_mask_cvtps2uqq_512,
INTR_TYPE_1OP_MASK
,
934
X86ISD::CVTP2UI
,
X86ISD::CVTP2UI_RND
),
935
X86_INTRINSIC_DATA
(avx512_mask_cvtqq2ps_128,
CVTQQ2PS_MASK
,
X86ISD::CVTSI2P
,
936
X86ISD::MCVTSI2P
),
937
X86_INTRINSIC_DATA
(avx512_mask_cvtsd2ss_round,
INTR_TYPE_SCALAR_MASK_RND
,
938
X86ISD::VFPROUNDS
,
X86ISD::VFPROUNDS_RND
),
939
X86_INTRINSIC_DATA
(avx512_mask_cvtss2sd_round,
INTR_TYPE_SCALAR_MASK_SAE
,
940
X86ISD::VFPEXTS
,
X86ISD::VFPEXTS_SAE
),
941
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2dq_128,
CVTPD2DQ_MASK
,
942
X86ISD::CVTTP2SI
,
X86ISD::MCVTTP2SI
),
943
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2dq_512,
INTR_TYPE_1OP_MASK_SAE
,
944
X86ISD::CVTTP2SI
,
X86ISD::CVTTP2SI_SAE
),
945
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2qq_128,
INTR_TYPE_1OP_MASK
,
946
X86ISD::CVTTP2SI
, 0),
947
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2qq_256,
INTR_TYPE_1OP_MASK
,
948
X86ISD::CVTTP2SI
, 0),
949
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2qq_512,
INTR_TYPE_1OP_MASK_SAE
,
950
X86ISD::CVTTP2SI
,
X86ISD::CVTTP2SI_SAE
),
951
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2udq_128,
CVTPD2DQ_MASK
,
952
X86ISD::CVTTP2UI
,
X86ISD::MCVTTP2UI
),
953
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2udq_256,
INTR_TYPE_1OP_MASK
,
954
X86ISD::CVTTP2UI
, 0),
955
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2udq_512,
INTR_TYPE_1OP_MASK_SAE
,
956
X86ISD::CVTTP2UI
,
X86ISD::CVTTP2UI_SAE
),
957
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2uqq_128,
INTR_TYPE_1OP_MASK
,
958
X86ISD::CVTTP2UI
, 0),
959
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2uqq_256,
INTR_TYPE_1OP_MASK
,
960
X86ISD::CVTTP2UI
, 0),
961
X86_INTRINSIC_DATA
(avx512_mask_cvttpd2uqq_512,
INTR_TYPE_1OP_MASK_SAE
,
962
X86ISD::CVTTP2UI
,
X86ISD::CVTTP2UI_SAE
),
963
X86_INTRINSIC_DATA
(avx512_mask_cvttps2dq_512,
INTR_TYPE_1OP_MASK_SAE
,
964
X86ISD::CVTTP2SI
,
X86ISD::CVTTP2SI_SAE
),
965
X86_INTRINSIC_DATA
(avx512_mask_cvttps2qq_128,
INTR_TYPE_1OP_MASK
,
966
X86ISD::CVTTP2SI
, 0),
967
X86_INTRINSIC_DATA
(avx512_mask_cvttps2qq_256,
INTR_TYPE_1OP_MASK
,
968
X86ISD::CVTTP2SI
, 0),
969
X86_INTRINSIC_DATA
(avx512_mask_cvttps2qq_512,
INTR_TYPE_1OP_MASK_SAE
,
970
X86ISD::CVTTP2SI
,
X86ISD::CVTTP2SI_SAE
),
971
X86_INTRINSIC_DATA
(avx512_mask_cvttps2udq_128,
INTR_TYPE_1OP_MASK
,
972
X86ISD::CVTTP2UI
, 0),
973
X86_INTRINSIC_DATA
(avx512_mask_cvttps2udq_256,
INTR_TYPE_1OP_MASK
,
974
X86ISD::CVTTP2UI
, 0),
975
X86_INTRINSIC_DATA
(avx512_mask_cvttps2udq_512,
INTR_TYPE_1OP_MASK_SAE
,
976
X86ISD::CVTTP2UI
,
X86ISD::CVTTP2UI_SAE
),
977
X86_INTRINSIC_DATA
(avx512_mask_cvttps2uqq_128,
INTR_TYPE_1OP_MASK
,
978
X86ISD::CVTTP2UI
, 0),
979
X86_INTRINSIC_DATA
(avx512_mask_cvttps2uqq_256,
INTR_TYPE_1OP_MASK
,
980
X86ISD::CVTTP2UI
, 0),
981
X86_INTRINSIC_DATA
(avx512_mask_cvttps2uqq_512,
INTR_TYPE_1OP_MASK_SAE
,
982
X86ISD::CVTTP2UI
,
X86ISD::CVTTP2UI_SAE
),
983
X86_INTRINSIC_DATA
(avx512_mask_cvtuqq2ps_128,
CVTQQ2PS_MASK
,
984
X86ISD::CVTUI2P
,
X86ISD::MCVTUI2P
),
985
X86_INTRINSIC_DATA
(avx512_mask_div_sd_round,
INTR_TYPE_SCALAR_MASK
,
986
X86ISD::FDIVS
,
X86ISD::FDIVS_RND
),
987
X86_INTRINSIC_DATA
(avx512_mask_div_ss_round,
INTR_TYPE_SCALAR_MASK
,
988
X86ISD::FDIVS
,
X86ISD::FDIVS_RND
),
989
X86_INTRINSIC_DATA
(avx512_mask_expand,
COMPRESS_EXPAND_IN_REG
,
990
X86ISD::EXPAND
, 0),
991
X86_INTRINSIC_DATA
(avx512_mask_fixupimm_pd_128,
FIXUPIMM
,
X86ISD::VFIXUPIMM
,
992
0),
993
X86_INTRINSIC_DATA
(avx512_mask_fixupimm_pd_256,
FIXUPIMM
,
X86ISD::VFIXUPIMM
,
994
0),
995
X86_INTRINSIC_DATA
(avx512_mask_fixupimm_pd_512,
FIXUPIMM
,
X86ISD::VFIXUPIMM
,
996
X86ISD::VFIXUPIMM_SAE
),
997
X86_INTRINSIC_DATA
(avx512_mask_fixupimm_ps_128,
FIXUPIMM
,
X86ISD::VFIXUPIMM
,
998
0),
999
X86_INTRINSIC_DATA
(avx512_mask_fixupimm_ps_256,
FIXUPIMM
,
X86ISD::VFIXUPIMM
,
1000
0),
1001
X86_INTRINSIC_DATA
(avx512_mask_fixupimm_ps_512,
FIXUPIMM
,
X86ISD::VFIXUPIMM
,
1002
X86ISD::VFIXUPIMM_SAE
),
1003
X86_INTRINSIC_DATA
(avx512_mask_fixupimm_sd,
FIXUPIMM
,
X86ISD::VFIXUPIMMS
,
1004
X86ISD::VFIXUPIMMS_SAE
),
1005
X86_INTRINSIC_DATA
(avx512_mask_fixupimm_ss,
FIXUPIMM
,
X86ISD::VFIXUPIMMS
,
1006
X86ISD::VFIXUPIMMS_SAE
),
1007
X86_INTRINSIC_DATA
(avx512_mask_fpclass_sd,
FPCLASSS
,
X86ISD::VFPCLASSS
, 0),
1008
X86_INTRINSIC_DATA
(avx512_mask_fpclass_ss,
FPCLASSS
,
X86ISD::VFPCLASSS
, 0),
1009
X86_INTRINSIC_DATA
(avx512_mask_getexp_pd_128,
INTR_TYPE_1OP_MASK
,
1010
X86ISD::FGETEXP
, 0),
1011
X86_INTRINSIC_DATA
(avx512_mask_getexp_pd_256,
INTR_TYPE_1OP_MASK
,
1012
X86ISD::FGETEXP
, 0),
1013
X86_INTRINSIC_DATA
(avx512_mask_getexp_pd_512,
INTR_TYPE_1OP_MASK_SAE
,
1014
X86ISD::FGETEXP
,
X86ISD::FGETEXP_SAE
),
1015
X86_INTRINSIC_DATA
(avx512_mask_getexp_ps_128,
INTR_TYPE_1OP_MASK
,
1016
X86ISD::FGETEXP
, 0),
1017
X86_INTRINSIC_DATA
(avx512_mask_getexp_ps_256,
INTR_TYPE_1OP_MASK
,
1018
X86ISD::FGETEXP
, 0),
1019
X86_INTRINSIC_DATA
(avx512_mask_getexp_ps_512,
INTR_TYPE_1OP_MASK_SAE
,
1020
X86ISD::FGETEXP
,
X86ISD::FGETEXP_SAE
),
1021
X86_INTRINSIC_DATA
(avx512_mask_getexp_sd,
INTR_TYPE_SCALAR_MASK_SAE
,
1022
X86ISD::FGETEXPS
,
X86ISD::FGETEXPS_SAE
),
1023
X86_INTRINSIC_DATA
(avx512_mask_getexp_ss,
INTR_TYPE_SCALAR_MASK_SAE
,
1024
X86ISD::FGETEXPS
,
X86ISD::FGETEXPS_SAE
),
1025
X86_INTRINSIC_DATA
(avx512_mask_getmant_pd_128,
INTR_TYPE_2OP_MASK_SAE
,
1026
X86ISD::VGETMANT
, 0),
1027
X86_INTRINSIC_DATA
(avx512_mask_getmant_pd_256,
INTR_TYPE_2OP_MASK_SAE
,
1028
X86ISD::VGETMANT
, 0),
1029
X86_INTRINSIC_DATA
(avx512_mask_getmant_pd_512,
INTR_TYPE_2OP_MASK_SAE
,
1030
X86ISD::VGETMANT
,
X86ISD::VGETMANT_SAE
),
1031
X86_INTRINSIC_DATA
(avx512_mask_getmant_ps_128,
INTR_TYPE_2OP_MASK_SAE
,
1032
X86ISD::VGETMANT
, 0),
1033
X86_INTRINSIC_DATA
(avx512_mask_getmant_ps_256,
INTR_TYPE_2OP_MASK_SAE
,
1034
X86ISD::VGETMANT
, 0),
1035
X86_INTRINSIC_DATA
(avx512_mask_getmant_ps_512,
INTR_TYPE_2OP_MASK_SAE
,
1036
X86ISD::VGETMANT
,
X86ISD::VGETMANT_SAE
),
1037
X86_INTRINSIC_DATA
(avx512_mask_getmant_sd,
INTR_TYPE_3OP_SCALAR_MASK_SAE
,
1038
X86ISD::VGETMANTS
,
X86ISD::VGETMANTS_SAE
),
1039
X86_INTRINSIC_DATA
(avx512_mask_getmant_ss,
INTR_TYPE_3OP_SCALAR_MASK_SAE
,
1040
X86ISD::VGETMANTS
,
X86ISD::VGETMANTS_SAE
),
1041
X86_INTRINSIC_DATA
(avx512_mask_max_sd_round,
INTR_TYPE_SCALAR_MASK_SAE
,
1042
X86ISD::FMAXS
,
X86ISD::FMAXS_SAE
),
1043
X86_INTRINSIC_DATA
(avx512_mask_max_ss_round,
INTR_TYPE_SCALAR_MASK_SAE
,
1044
X86ISD::FMAXS
,
X86ISD::FMAXS_SAE
),
1045
X86_INTRINSIC_DATA
(avx512_mask_min_sd_round,
INTR_TYPE_SCALAR_MASK_SAE
,
1046
X86ISD::FMINS
,
X86ISD::FMINS_SAE
),
1047
X86_INTRINSIC_DATA
(avx512_mask_min_ss_round,
INTR_TYPE_SCALAR_MASK_SAE
,
1048
X86ISD::FMINS
,
X86ISD::FMINS_SAE
),
1049
X86_INTRINSIC_DATA
(avx512_mask_mul_sd_round,
INTR_TYPE_SCALAR_MASK
,
1050
X86ISD::FMULS
,
X86ISD::FMULS_RND
),
1051
X86_INTRINSIC_DATA
(avx512_mask_mul_ss_round,
INTR_TYPE_SCALAR_MASK
,
1052
X86ISD::FMULS
,
X86ISD::FMULS_RND
),
1053
X86_INTRINSIC_DATA
(avx512_mask_pmov_db_128,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1054
X86ISD::VMTRUNC
),
1055
X86_INTRINSIC_DATA
(avx512_mask_pmov_db_256,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1056
X86ISD::VMTRUNC
),
1057
X86_INTRINSIC_DATA
(avx512_mask_pmov_db_512,
TRUNCATE_TO_REG
,
ISD::TRUNCATE
,
1058
X86ISD::VMTRUNC
),
1059
X86_INTRINSIC_DATA
(avx512_mask_pmov_dw_128,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1060
X86ISD::VMTRUNC
),
1061
X86_INTRINSIC_DATA
(avx512_mask_pmov_dw_256,
TRUNCATE_TO_REG
,
ISD::TRUNCATE
,
1062
X86ISD::VMTRUNC
),
1063
X86_INTRINSIC_DATA
(avx512_mask_pmov_dw_512,
TRUNCATE_TO_REG
,
ISD::TRUNCATE
,
1064
X86ISD::VMTRUNC
),
1065
X86_INTRINSIC_DATA
(avx512_mask_pmov_qb_128,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1066
X86ISD::VMTRUNC
),
1067
X86_INTRINSIC_DATA
(avx512_mask_pmov_qb_256,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1068
X86ISD::VMTRUNC
),
1069
X86_INTRINSIC_DATA
(avx512_mask_pmov_qb_512,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1070
X86ISD::VMTRUNC
),
1071
X86_INTRINSIC_DATA
(avx512_mask_pmov_qd_128,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1072
X86ISD::VMTRUNC
),
1073
X86_INTRINSIC_DATA
(avx512_mask_pmov_qw_128,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1074
X86ISD::VMTRUNC
),
1075
X86_INTRINSIC_DATA
(avx512_mask_pmov_qw_256,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1076
X86ISD::VMTRUNC
),
1077
X86_INTRINSIC_DATA
(avx512_mask_pmov_qw_512,
TRUNCATE_TO_REG
,
ISD::TRUNCATE
,
1078
X86ISD::VMTRUNC
),
1079
X86_INTRINSIC_DATA
(avx512_mask_pmov_wb_128,
TRUNCATE_TO_REG
,
X86ISD::VTRUNC
,
1080
X86ISD::VMTRUNC
),
1081
X86_INTRINSIC_DATA
(avx512_mask_pmovs_db_128,
TRUNCATE_TO_REG
,
1082
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1083
X86_INTRINSIC_DATA
(avx512_mask_pmovs_db_256,
TRUNCATE_TO_REG
,
1084
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1085
X86_INTRINSIC_DATA
(avx512_mask_pmovs_db_512,
TRUNCATE_TO_REG
,
1086
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1087
X86_INTRINSIC_DATA
(avx512_mask_pmovs_dw_128,
TRUNCATE_TO_REG
,
1088
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1089
X86_INTRINSIC_DATA
(avx512_mask_pmovs_dw_256,
TRUNCATE_TO_REG
,
1090
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1091
X86_INTRINSIC_DATA
(avx512_mask_pmovs_dw_512,
TRUNCATE_TO_REG
,
1092
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1093
X86_INTRINSIC_DATA
(avx512_mask_pmovs_qb_128,
TRUNCATE_TO_REG
,
1094
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1095
X86_INTRINSIC_DATA
(avx512_mask_pmovs_qb_256,
TRUNCATE_TO_REG
,
1096
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1097
X86_INTRINSIC_DATA
(avx512_mask_pmovs_qb_512,
TRUNCATE_TO_REG
,
1098
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1099
X86_INTRINSIC_DATA
(avx512_mask_pmovs_qd_128,
TRUNCATE_TO_REG
,
1100
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1101
X86_INTRINSIC_DATA
(avx512_mask_pmovs_qd_256,
INTR_TYPE_1OP_MASK
,
1102
X86ISD::VTRUNCS
, 0),
1103
X86_INTRINSIC_DATA
(avx512_mask_pmovs_qd_512,
INTR_TYPE_1OP_MASK
,
1104
X86ISD::VTRUNCS
, 0),
1105
X86_INTRINSIC_DATA
(avx512_mask_pmovs_qw_128,
TRUNCATE_TO_REG
,
1106
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1107
X86_INTRINSIC_DATA
(avx512_mask_pmovs_qw_256,
TRUNCATE_TO_REG
,
1108
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1109
X86_INTRINSIC_DATA
(avx512_mask_pmovs_qw_512,
TRUNCATE_TO_REG
,
1110
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1111
X86_INTRINSIC_DATA
(avx512_mask_pmovs_wb_128,
TRUNCATE_TO_REG
,
1112
X86ISD::VTRUNCS
,
X86ISD::VMTRUNCS
),
1113
X86_INTRINSIC_DATA
(avx512_mask_pmovs_wb_256,
INTR_TYPE_1OP_MASK
,
1114
X86ISD::VTRUNCS
, 0),
1115
X86_INTRINSIC_DATA
(avx512_mask_pmovs_wb_512,
INTR_TYPE_1OP_MASK
,
1116
X86ISD::VTRUNCS
, 0),
1117
X86_INTRINSIC_DATA
(avx512_mask_pmovus_db_128,
TRUNCATE_TO_REG
,
1118
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1119
X86_INTRINSIC_DATA
(avx512_mask_pmovus_db_256,
TRUNCATE_TO_REG
,
1120
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1121
X86_INTRINSIC_DATA
(avx512_mask_pmovus_db_512,
TRUNCATE_TO_REG
,
1122
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1123
X86_INTRINSIC_DATA
(avx512_mask_pmovus_dw_128,
TRUNCATE_TO_REG
,
1124
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1125
X86_INTRINSIC_DATA
(avx512_mask_pmovus_dw_256,
TRUNCATE_TO_REG
,
1126
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1127
X86_INTRINSIC_DATA
(avx512_mask_pmovus_dw_512,
TRUNCATE_TO_REG
,
1128
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1129
X86_INTRINSIC_DATA
(avx512_mask_pmovus_qb_128,
TRUNCATE_TO_REG
,
1130
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1131
X86_INTRINSIC_DATA
(avx512_mask_pmovus_qb_256,
TRUNCATE_TO_REG
,
1132
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1133
X86_INTRINSIC_DATA
(avx512_mask_pmovus_qb_512,
TRUNCATE_TO_REG
,
1134
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1135
X86_INTRINSIC_DATA
(avx512_mask_pmovus_qd_128,
TRUNCATE_TO_REG
,
1136
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1137
X86_INTRINSIC_DATA
(avx512_mask_pmovus_qd_256,
INTR_TYPE_1OP_MASK
,
1138
X86ISD::VTRUNCUS
, 0),
1139
X86_INTRINSIC_DATA
(avx512_mask_pmovus_qd_512,
INTR_TYPE_1OP_MASK
,
1140
X86ISD::VTRUNCUS
, 0),
1141
X86_INTRINSIC_DATA
(avx512_mask_pmovus_qw_128,
TRUNCATE_TO_REG
,
1142
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1143
X86_INTRINSIC_DATA
(avx512_mask_pmovus_qw_256,
TRUNCATE_TO_REG
,
1144
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1145
X86_INTRINSIC_DATA
(avx512_mask_pmovus_qw_512,
TRUNCATE_TO_REG
,
1146
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1147
X86_INTRINSIC_DATA
(avx512_mask_pmovus_wb_128,
TRUNCATE_TO_REG
,
1148
X86ISD::VTRUNCUS
,
X86ISD::VMTRUNCUS
),
1149
X86_INTRINSIC_DATA
(avx512_mask_pmovus_wb_256,
INTR_TYPE_1OP_MASK
,
1150
X86ISD::VTRUNCUS
, 0),
1151
X86_INTRINSIC_DATA
(avx512_mask_pmovus_wb_512,
INTR_TYPE_1OP_MASK
,
1152
X86ISD::VTRUNCUS
, 0),
1153
X86_INTRINSIC_DATA
(avx512_mask_range_pd_128,
INTR_TYPE_3OP_MASK_SAE
,
1154
X86ISD::VRANGE
, 0),
1155
X86_INTRINSIC_DATA
(avx512_mask_range_pd_256,
INTR_TYPE_3OP_MASK_SAE
,
1156
X86ISD::VRANGE
, 0),
1157
X86_INTRINSIC_DATA
(avx512_mask_range_pd_512,
INTR_TYPE_3OP_MASK_SAE
,
1158
X86ISD::VRANGE
,
X86ISD::VRANGE_SAE
),
1159
X86_INTRINSIC_DATA
(avx512_mask_range_ps_128,
INTR_TYPE_3OP_MASK_SAE
,
1160
X86ISD::VRANGE
, 0),
1161
X86_INTRINSIC_DATA
(avx512_mask_range_ps_256,
INTR_TYPE_3OP_MASK_SAE
,
1162
X86ISD::VRANGE
, 0),
1163
X86_INTRINSIC_DATA
(avx512_mask_range_ps_512,
INTR_TYPE_3OP_MASK_SAE
,
1164
X86ISD::VRANGE
,
X86ISD::VRANGE_SAE
),
1165
X86_INTRINSIC_DATA
(avx512_mask_range_sd,
INTR_TYPE_SCALAR_MASK
,
1166
X86ISD::VRANGES
,
X86ISD::VRANGES_SAE
),
1167
X86_INTRINSIC_DATA
(avx512_mask_range_ss,
INTR_TYPE_SCALAR_MASK
,
1168
X86ISD::VRANGES
,
X86ISD::VRANGES_SAE
),
1169
X86_INTRINSIC_DATA
(avx512_mask_reduce_pd_128,
INTR_TYPE_2OP_MASK_SAE
,
1170
X86ISD::VREDUCE
, 0),
1171
X86_INTRINSIC_DATA
(avx512_mask_reduce_pd_256,
INTR_TYPE_2OP_MASK_SAE
,
1172
X86ISD::VREDUCE
, 0),
1173
X86_INTRINSIC_DATA
(avx512_mask_reduce_pd_512,
INTR_TYPE_2OP_MASK_SAE
,
1174
X86ISD::VREDUCE
,
X86ISD::VREDUCE_SAE
),
1175
X86_INTRINSIC_DATA
(avx512_mask_reduce_ps_128,
INTR_TYPE_2OP_MASK_SAE
,
1176
X86ISD::VREDUCE
, 0),
1177
X86_INTRINSIC_DATA
(avx512_mask_reduce_ps_256,
INTR_TYPE_2OP_MASK_SAE
,
1178
X86ISD::VREDUCE
, 0),
1179
X86_INTRINSIC_DATA
(avx512_mask_reduce_ps_512,
INTR_TYPE_2OP_MASK_SAE
,
1180
X86ISD::VREDUCE
,
X86ISD::VREDUCE_SAE
),
1181
X86_INTRINSIC_DATA
(avx512_mask_reduce_sd,
INTR_TYPE_SCALAR_MASK
,
1182
X86ISD::VREDUCES
,
X86ISD::VREDUCES_SAE
),
1183
X86_INTRINSIC_DATA
(avx512_mask_reduce_ss,
INTR_TYPE_SCALAR_MASK
,
1184
X86ISD::VREDUCES
,
X86ISD::VREDUCES_SAE
),
1185
X86_INTRINSIC_DATA
(avx512_mask_rndscale_pd_128,
INTR_TYPE_2OP_MASK_SAE
,
1186
X86ISD::VRNDSCALE
, 0),
1187
X86_INTRINSIC_DATA
(avx512_mask_rndscale_pd_256,
INTR_TYPE_2OP_MASK_SAE
,
1188
X86ISD::VRNDSCALE
, 0),
1189
X86_INTRINSIC_DATA
(avx512_mask_rndscale_pd_512,
INTR_TYPE_2OP_MASK_SAE
,
1190
X86ISD::VRNDSCALE
,
X86ISD::VRNDSCALE_SAE
),
1191
X86_INTRINSIC_DATA
(avx512_mask_rndscale_ps_128,
INTR_TYPE_2OP_MASK_SAE
,
1192
X86ISD::VRNDSCALE
, 0),
1193
X86_INTRINSIC_DATA
(avx512_mask_rndscale_ps_256,
INTR_TYPE_2OP_MASK_SAE
,
1194
X86ISD::VRNDSCALE
, 0),
1195
X86_INTRINSIC_DATA
(avx512_mask_rndscale_ps_512,
INTR_TYPE_2OP_MASK_SAE
,
1196
X86ISD::VRNDSCALE
,
X86ISD::VRNDSCALE_SAE
),
1197
X86_INTRINSIC_DATA
(avx512_mask_rndscale_sd,
INTR_TYPE_SCALAR_MASK
,
1198
X86ISD::VRNDSCALES
,
X86ISD::VRNDSCALES_SAE
),
1199
X86_INTRINSIC_DATA
(avx512_mask_rndscale_ss,
INTR_TYPE_SCALAR_MASK
,
1200
X86ISD::VRNDSCALES
,
X86ISD::VRNDSCALES_SAE
),
1201
X86_INTRINSIC_DATA
(avx512_mask_scalef_pd_128,
INTR_TYPE_2OP_MASK
,
1202
X86ISD::SCALEF
, 0),
1203
X86_INTRINSIC_DATA
(avx512_mask_scalef_pd_256,
INTR_TYPE_2OP_MASK
,
1204
X86ISD::SCALEF
, 0),
1205
X86_INTRINSIC_DATA
(avx512_mask_scalef_pd_512,
INTR_TYPE_2OP_MASK
,
1206
X86ISD::SCALEF
,
X86ISD::SCALEF_RND
),
1207
X86_INTRINSIC_DATA
(avx512_mask_scalef_ps_128,
INTR_TYPE_2OP_MASK
,
1208
X86ISD::SCALEF
, 0),
1209
X86_INTRINSIC_DATA
(avx512_mask_scalef_ps_256,
INTR_TYPE_2OP_MASK
,
1210
X86ISD::SCALEF
, 0),
1211
X86_INTRINSIC_DATA
(avx512_mask_scalef_ps_512,
INTR_TYPE_2OP_MASK
,
1212
X86ISD::SCALEF
,
X86ISD::SCALEF_RND
),
1213
X86_INTRINSIC_DATA
(avx512_mask_scalef_sd,
INTR_TYPE_SCALAR_MASK
,
1214
X86ISD::SCALEFS
,
X86ISD::SCALEFS_RND
),
1215
X86_INTRINSIC_DATA
(avx512_mask_scalef_ss,
INTR_TYPE_SCALAR_MASK
,
1216
X86ISD::SCALEFS
,
X86ISD::SCALEFS_RND
),
1217
X86_INTRINSIC_DATA
(avx512_mask_sqrt_sd,
INTR_TYPE_SCALAR_MASK
,
1218
X86ISD::FSQRTS
,
X86ISD::FSQRTS_RND
),
1219
X86_INTRINSIC_DATA
(avx512_mask_sqrt_ss,
INTR_TYPE_SCALAR_MASK
,
1220
X86ISD::FSQRTS
,
X86ISD::FSQRTS_RND
),
1221
X86_INTRINSIC_DATA
(avx512_mask_sub_sd_round,
INTR_TYPE_SCALAR_MASK
,
1222
X86ISD::FSUBS
,
X86ISD::FSUBS_RND
),
1223
X86_INTRINSIC_DATA
(avx512_mask_sub_ss_round,
INTR_TYPE_SCALAR_MASK
,
1224
X86ISD::FSUBS
,
X86ISD::FSUBS_RND
),
1225
X86_INTRINSIC_DATA
(avx512_mask_vcvtph2ps_512,
INTR_TYPE_1OP_MASK_SAE
,
1226
X86ISD::CVTPH2PS
,
X86ISD::CVTPH2PS_SAE
),
1227
X86_INTRINSIC_DATA
(avx512_mask_vcvtps2ph_128,
CVTPS2PH_MASK
,
1228
X86ISD::CVTPS2PH
,
X86ISD::MCVTPS2PH
),
1229
X86_INTRINSIC_DATA
(avx512_mask_vcvtps2ph_256,
CVTPS2PH_MASK
,
1230
X86ISD::CVTPS2PH
,
X86ISD::MCVTPS2PH
),
1231
X86_INTRINSIC_DATA
(avx512_mask_vcvtps2ph_512,
CVTPS2PH_MASK
,
1232
X86ISD::CVTPS2PH
,
X86ISD::MCVTPS2PH
),
1233
1234
X86_INTRINSIC_DATA
(avx512_maskz_fixupimm_pd_128,
FIXUPIMM_MASKZ
,
1235
X86ISD::VFIXUPIMM
, 0),
1236
X86_INTRINSIC_DATA
(avx512_maskz_fixupimm_pd_256,
FIXUPIMM_MASKZ
,
1237
X86ISD::VFIXUPIMM
, 0),
1238
X86_INTRINSIC_DATA
(avx512_maskz_fixupimm_pd_512,
FIXUPIMM_MASKZ
,
1239
X86ISD::VFIXUPIMM
,
X86ISD::VFIXUPIMM_SAE
),
1240
X86_INTRINSIC_DATA
(avx512_maskz_fixupimm_ps_128,
FIXUPIMM_MASKZ
,
1241
X86ISD::VFIXUPIMM
, 0),
1242
X86_INTRINSIC_DATA
(avx512_maskz_fixupimm_ps_256,
FIXUPIMM_MASKZ
,
1243
X86ISD::VFIXUPIMM
, 0),
1244
X86_INTRINSIC_DATA
(avx512_maskz_fixupimm_ps_512,
FIXUPIMM_MASKZ
,
1245
X86ISD::VFIXUPIMM
,
X86ISD::VFIXUPIMM_SAE
),
1246
X86_INTRINSIC_DATA
(avx512_maskz_fixupimm_sd,
FIXUPIMM_MASKZ
,
1247
X86ISD::VFIXUPIMMS
,
X86ISD::VFIXUPIMMS_SAE
),
1248
X86_INTRINSIC_DATA
(avx512_maskz_fixupimm_ss,
FIXUPIMM_MASKZ
,
1249
X86ISD::VFIXUPIMMS
,
X86ISD::VFIXUPIMMS_SAE
),
1250
1251
X86_INTRINSIC_DATA
(avx512_max_pd_512,
INTR_TYPE_2OP_SAE
,
X86ISD::FMAX
,
1252
X86ISD::FMAX_SAE
),
1253
X86_INTRINSIC_DATA
(avx512_max_ps_512,
INTR_TYPE_2OP_SAE
,
X86ISD::FMAX
,
1254
X86ISD::FMAX_SAE
),
1255
X86_INTRINSIC_DATA
(avx512_min_pd_512,
INTR_TYPE_2OP_SAE
,
X86ISD::FMIN
,
1256
X86ISD::FMIN_SAE
),
1257
X86_INTRINSIC_DATA
(avx512_min_ps_512,
INTR_TYPE_2OP_SAE
,
X86ISD::FMIN
,
1258
X86ISD::FMIN_SAE
),
1259
X86_INTRINSIC_DATA
(avx512_mul_pd_512,
INTR_TYPE_2OP
,
ISD::FMUL
,
1260
X86ISD::FMUL_RND
),
1261
X86_INTRINSIC_DATA
(avx512_mul_ps_512,
INTR_TYPE_2OP
,
ISD::FMUL
,
1262
X86ISD::FMUL_RND
),
1263
X86_INTRINSIC_DATA
(avx512_packssdw_512,
INTR_TYPE_2OP
,
X86ISD::PACKSS
, 0),
1264
X86_INTRINSIC_DATA
(avx512_packsswb_512,
INTR_TYPE_2OP
,
X86ISD::PACKSS
, 0),
1265
X86_INTRINSIC_DATA
(avx512_packusdw_512,
INTR_TYPE_2OP
,
X86ISD::PACKUS
, 0),
1266
X86_INTRINSIC_DATA
(avx512_packuswb_512,
INTR_TYPE_2OP
,
X86ISD::PACKUS
, 0),
1267
X86_INTRINSIC_DATA
(avx512_pavg_b_512,
INTR_TYPE_2OP
,
ISD::AVGCEILU
, 0),
1268
X86_INTRINSIC_DATA
(avx512_pavg_w_512,
INTR_TYPE_2OP
,
ISD::AVGCEILU
, 0),
1269
X86_INTRINSIC_DATA
(avx512_permvar_df_256,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1270
X86_INTRINSIC_DATA
(avx512_permvar_df_512,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1271
X86_INTRINSIC_DATA
(avx512_permvar_di_256,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1272
X86_INTRINSIC_DATA
(avx512_permvar_di_512,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1273
X86_INTRINSIC_DATA
(avx512_permvar_hi_128,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1274
X86_INTRINSIC_DATA
(avx512_permvar_hi_256,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1275
X86_INTRINSIC_DATA
(avx512_permvar_hi_512,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1276
X86_INTRINSIC_DATA
(avx512_permvar_qi_128,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1277
X86_INTRINSIC_DATA
(avx512_permvar_qi_256,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1278
X86_INTRINSIC_DATA
(avx512_permvar_qi_512,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1279
X86_INTRINSIC_DATA
(avx512_permvar_sf_512,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1280
X86_INTRINSIC_DATA
(avx512_permvar_si_512,
VPERM_2OP
,
X86ISD::VPERMV
, 0),
1281
X86_INTRINSIC_DATA
(avx512_pmaddubs_w_512,
INTR_TYPE_2OP
,
X86ISD::VPMADDUBSW
,
1282
0),
1283
X86_INTRINSIC_DATA
(avx512_pmaddw_d_512,
INTR_TYPE_2OP
,
X86ISD::VPMADDWD
, 0),
1284
X86_INTRINSIC_DATA
(avx512_pmul_hr_sw_512,
INTR_TYPE_2OP
,
X86ISD::MULHRS
, 0),
1285
X86_INTRINSIC_DATA
(avx512_pmulh_w_512,
INTR_TYPE_2OP
,
ISD::MULHS
, 0),
1286
X86_INTRINSIC_DATA
(avx512_pmulhu_w_512,
INTR_TYPE_2OP
,
ISD::MULHU
, 0),
1287
X86_INTRINSIC_DATA
(avx512_pmultishift_qb_128,
INTR_TYPE_2OP
,
1288
X86ISD::MULTISHIFT
, 0),
1289
X86_INTRINSIC_DATA
(avx512_pmultishift_qb_256,
INTR_TYPE_2OP
,
1290
X86ISD::MULTISHIFT
, 0),
1291
X86_INTRINSIC_DATA
(avx512_pmultishift_qb_512,
INTR_TYPE_2OP
,
1292
X86ISD::MULTISHIFT
, 0),
1293
X86_INTRINSIC_DATA
(avx512_psad_bw_512,
INTR_TYPE_2OP
,
X86ISD::PSADBW
, 0),
1294
X86_INTRINSIC_DATA
(avx512_pshuf_b_512,
INTR_TYPE_2OP
,
X86ISD::PSHUFB
, 0),
1295
X86_INTRINSIC_DATA
(avx512_psll_d_512,
INTR_TYPE_2OP
,
X86ISD::VSHL
, 0),
1296
X86_INTRINSIC_DATA
(avx512_psll_q_512,
INTR_TYPE_2OP
,
X86ISD::VSHL
, 0),
1297
X86_INTRINSIC_DATA
(avx512_psll_w_512,
INTR_TYPE_2OP
,
X86ISD::VSHL
, 0),
1298
X86_INTRINSIC_DATA
(avx512_pslli_d_512,
VSHIFT
,
X86ISD::VSHLI
, 0),
1299
X86_INTRINSIC_DATA
(avx512_pslli_q_512,
VSHIFT
,
X86ISD::VSHLI
, 0),
1300
X86_INTRINSIC_DATA
(avx512_pslli_w_512,
VSHIFT
,
X86ISD::VSHLI
, 0),
1301
X86_INTRINSIC_DATA
(avx512_psllv_d_512,
INTR_TYPE_2OP
,
X86ISD::VSHLV
, 0),
1302
X86_INTRINSIC_DATA
(avx512_psllv_q_512,
INTR_TYPE_2OP
,
X86ISD::VSHLV
, 0),
1303
X86_INTRINSIC_DATA
(avx512_psllv_w_128,
INTR_TYPE_2OP
,
X86ISD::VSHLV
, 0),
1304
X86_INTRINSIC_DATA
(avx512_psllv_w_256,
INTR_TYPE_2OP
,
X86ISD::VSHLV
, 0),
1305
X86_INTRINSIC_DATA
(avx512_psllv_w_512,
INTR_TYPE_2OP
,
X86ISD::VSHLV
, 0),
1306
X86_INTRINSIC_DATA
(avx512_psra_d_512,
INTR_TYPE_2OP
,
X86ISD::VSRA
, 0),
1307
X86_INTRINSIC_DATA
(avx512_psra_q_128,
INTR_TYPE_2OP
,
X86ISD::VSRA
, 0),
1308
X86_INTRINSIC_DATA
(avx512_psra_q_256,
INTR_TYPE_2OP
,
X86ISD::VSRA
, 0),
1309
X86_INTRINSIC_DATA
(avx512_psra_q_512,
INTR_TYPE_2OP
,
X86ISD::VSRA
, 0),
1310
X86_INTRINSIC_DATA
(avx512_psra_w_512,
INTR_TYPE_2OP
,
X86ISD::VSRA
, 0),
1311
X86_INTRINSIC_DATA
(avx512_psrai_d_512,
VSHIFT
,
X86ISD::VSRAI
, 0),
1312
X86_INTRINSIC_DATA
(avx512_psrai_q_128,
VSHIFT
,
X86ISD::VSRAI
, 0),
1313
X86_INTRINSIC_DATA
(avx512_psrai_q_256,
VSHIFT
,
X86ISD::VSRAI
, 0),
1314
X86_INTRINSIC_DATA
(avx512_psrai_q_512,
VSHIFT
,
X86ISD::VSRAI
, 0),
1315
X86_INTRINSIC_DATA
(avx512_psrai_w_512,
VSHIFT
,
X86ISD::VSRAI
, 0),
1316
X86_INTRINSIC_DATA
(avx512_psrav_d_512,
INTR_TYPE_2OP
,
X86ISD::VSRAV
, 0),
1317
X86_INTRINSIC_DATA
(avx512_psrav_q_128,
INTR_TYPE_2OP
,
X86ISD::VSRAV
, 0),
1318
X86_INTRINSIC_DATA
(avx512_psrav_q_256,
INTR_TYPE_2OP
,
X86ISD::VSRAV
, 0),
1319
X86_INTRINSIC_DATA
(avx512_psrav_q_512,
INTR_TYPE_2OP
,
X86ISD::VSRAV
, 0),
1320
X86_INTRINSIC_DATA
(avx512_psrav_w_128,
INTR_TYPE_2OP
,
X86ISD::VSRAV
, 0),
1321
X86_INTRINSIC_DATA
(avx512_psrav_w_256,
INTR_TYPE_2OP
,
X86ISD::VSRAV
, 0),
1322
X86_INTRINSIC_DATA
(avx512_psrav_w_512,
INTR_TYPE_2OP
,
X86ISD::VSRAV
, 0),
1323
X86_INTRINSIC_DATA
(avx512_psrl_d_512,
INTR_TYPE_2OP
,
X86ISD::VSRL
, 0),
1324
X86_INTRINSIC_DATA
(avx512_psrl_q_512,
INTR_TYPE_2OP
,
X86ISD::VSRL
, 0),
1325
X86_INTRINSIC_DATA
(avx512_psrl_w_512,
INTR_TYPE_2OP
,
X86ISD::VSRL
, 0),
1326
X86_INTRINSIC_DATA
(avx512_psrli_d_512,
VSHIFT
,
X86ISD::VSRLI
, 0),
1327
X86_INTRINSIC_DATA
(avx512_psrli_q_512,
VSHIFT
,
X86ISD::VSRLI
, 0),
1328
X86_INTRINSIC_DATA
(avx512_psrli_w_512,
VSHIFT
,
X86ISD::VSRLI
, 0),
1329
X86_INTRINSIC_DATA
(avx512_psrlv_d_512,
INTR_TYPE_2OP
,
X86ISD::VSRLV
, 0),
1330
X86_INTRINSIC_DATA
(avx512_psrlv_q_512,
INTR_TYPE_2OP
,
X86ISD::VSRLV
, 0),
1331
X86_INTRINSIC_DATA
(avx512_psrlv_w_128,
INTR_TYPE_2OP
,
X86ISD::VSRLV
, 0),
1332
X86_INTRINSIC_DATA
(avx512_psrlv_w_256,
INTR_TYPE_2OP
,
X86ISD::VSRLV
, 0),
1333
X86_INTRINSIC_DATA
(avx512_psrlv_w_512,
INTR_TYPE_2OP
,
X86ISD::VSRLV
, 0),
1334
X86_INTRINSIC_DATA
(avx512_pternlog_d_128,
INTR_TYPE_4OP_IMM8
,
1335
X86ISD::VPTERNLOG
, 0),
1336
X86_INTRINSIC_DATA
(avx512_pternlog_d_256,
INTR_TYPE_4OP_IMM8
,
1337
X86ISD::VPTERNLOG
, 0),
1338
X86_INTRINSIC_DATA
(avx512_pternlog_d_512,
INTR_TYPE_4OP_IMM8
,
1339
X86ISD::VPTERNLOG
, 0),
1340
X86_INTRINSIC_DATA
(avx512_pternlog_q_128,
INTR_TYPE_4OP_IMM8
,
1341
X86ISD::VPTERNLOG
, 0),
1342
X86_INTRINSIC_DATA
(avx512_pternlog_q_256,
INTR_TYPE_4OP_IMM8
,
1343
X86ISD::VPTERNLOG
, 0),
1344
X86_INTRINSIC_DATA
(avx512_pternlog_q_512,
INTR_TYPE_4OP_IMM8
,
1345
X86ISD::VPTERNLOG
, 0),
1346
X86_INTRINSIC_DATA
(avx512_rcp14_pd_128,
INTR_TYPE_1OP_MASK
,
X86ISD::RCP14
,
1347
0),
1348
X86_INTRINSIC_DATA
(avx512_rcp14_pd_256,
INTR_TYPE_1OP_MASK
,
X86ISD::RCP14
,
1349
0),
1350
X86_INTRINSIC_DATA
(avx512_rcp14_pd_512,
INTR_TYPE_1OP_MASK
,
X86ISD::RCP14
,
1351
0),
1352
X86_INTRINSIC_DATA
(avx512_rcp14_ps_128,
INTR_TYPE_1OP_MASK
,
X86ISD::RCP14
,
1353
0),
1354
X86_INTRINSIC_DATA
(avx512_rcp14_ps_256,
INTR_TYPE_1OP_MASK
,
X86ISD::RCP14
,
1355
0),
1356
X86_INTRINSIC_DATA
(avx512_rcp14_ps_512,
INTR_TYPE_1OP_MASK
,
X86ISD::RCP14
,
1357
0),
1358
X86_INTRINSIC_DATA
(avx512_rcp14_sd,
INTR_TYPE_SCALAR_MASK
,
X86ISD::RCP14S
,
1359
0),
1360
X86_INTRINSIC_DATA
(avx512_rcp14_ss,
INTR_TYPE_SCALAR_MASK
,
X86ISD::RCP14S
,
1361
0),
1362
X86_INTRINSIC_DATA
(avx512_rsqrt14_pd_128,
INTR_TYPE_1OP_MASK
,
1363
X86ISD::RSQRT14
, 0),
1364
X86_INTRINSIC_DATA
(avx512_rsqrt14_pd_256,
INTR_TYPE_1OP_MASK
,
1365
X86ISD::RSQRT14
, 0),
1366
X86_INTRINSIC_DATA
(avx512_rsqrt14_pd_512,
INTR_TYPE_1OP_MASK
,
1367
X86ISD::RSQRT14
, 0),
1368
X86_INTRINSIC_DATA
(avx512_rsqrt14_ps_128,
INTR_TYPE_1OP_MASK
,
1369
X86ISD::RSQRT14
, 0),
1370
X86_INTRINSIC_DATA
(avx512_rsqrt14_ps_256,
INTR_TYPE_1OP_MASK
,
1371
X86ISD::RSQRT14
, 0),
1372
X86_INTRINSIC_DATA
(avx512_rsqrt14_ps_512,
INTR_TYPE_1OP_MASK
,
1373
X86ISD::RSQRT14
, 0),
1374
X86_INTRINSIC_DATA
(avx512_rsqrt14_sd,
INTR_TYPE_SCALAR_MASK
,
1375
X86ISD::RSQRT14S
, 0),
1376
X86_INTRINSIC_DATA
(avx512_rsqrt14_ss,
INTR_TYPE_SCALAR_MASK
,
1377
X86ISD::RSQRT14S
, 0),
1378
X86_INTRINSIC_DATA
(avx512_sitofp_round,
INTR_TYPE_1OP
,
ISD::SINT_TO_FP
,
1379
X86ISD::SINT_TO_FP_RND
),
1380
X86_INTRINSIC_DATA
(avx512_sqrt_pd_512,
INTR_TYPE_1OP
, ISD::FSQRT,
1381
X86ISD::FSQRT_RND
),
1382
X86_INTRINSIC_DATA
(avx512_sqrt_ps_512,
INTR_TYPE_1OP
, ISD::FSQRT,
1383
X86ISD::FSQRT_RND
),
1384
X86_INTRINSIC_DATA
(avx512_sub_pd_512,
INTR_TYPE_2OP
,
ISD::FSUB
,
1385
X86ISD::FSUB_RND
),
1386
X86_INTRINSIC_DATA
(avx512_sub_ps_512,
INTR_TYPE_2OP
,
ISD::FSUB
,
1387
X86ISD::FSUB_RND
),
1388
X86_INTRINSIC_DATA
(avx512_uitofp_round,
INTR_TYPE_1OP
,
ISD::UINT_TO_FP
,
1389
X86ISD::UINT_TO_FP_RND
),
1390
X86_INTRINSIC_DATA
(avx512_vcomi_sd,
COMI_RM
,
X86ISD::COMI
,
X86ISD::UCOMI
),
1391
X86_INTRINSIC_DATA
(avx512_vcomi_ss,
COMI_RM
,
X86ISD::COMI
,
X86ISD::UCOMI
),
1392
X86_INTRINSIC_DATA
(avx512_vcvtsd2si32,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
,
1393
X86ISD::CVTS2SI_RND
),
1394
X86_INTRINSIC_DATA
(avx512_vcvtsd2si64,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
,
1395
X86ISD::CVTS2SI_RND
),
1396
X86_INTRINSIC_DATA
(avx512_vcvtsd2usi32,
INTR_TYPE_1OP
,
X86ISD::CVTS2UI
,
1397
X86ISD::CVTS2UI_RND
),
1398
X86_INTRINSIC_DATA
(avx512_vcvtsd2usi64,
INTR_TYPE_1OP
,
X86ISD::CVTS2UI
,
1399
X86ISD::CVTS2UI_RND
),
1400
X86_INTRINSIC_DATA
(avx512_vcvtss2si32,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
,
1401
X86ISD::CVTS2SI_RND
),
1402
X86_INTRINSIC_DATA
(avx512_vcvtss2si64,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
,
1403
X86ISD::CVTS2SI_RND
),
1404
X86_INTRINSIC_DATA
(avx512_vcvtss2usi32,
INTR_TYPE_1OP
,
X86ISD::CVTS2UI
,
1405
X86ISD::CVTS2UI_RND
),
1406
X86_INTRINSIC_DATA
(avx512_vcvtss2usi64,
INTR_TYPE_1OP
,
X86ISD::CVTS2UI
,
1407
X86ISD::CVTS2UI_RND
),
1408
X86_INTRINSIC_DATA
(avx512_vfmadd_f32,
INTR_TYPE_3OP
,
ISD::FMA
,
1409
X86ISD::FMADD_RND
),
1410
X86_INTRINSIC_DATA
(avx512_vfmadd_f64,
INTR_TYPE_3OP
,
ISD::FMA
,
1411
X86ISD::FMADD_RND
),
1412
X86_INTRINSIC_DATA
(avx512_vfmadd_pd_512,
INTR_TYPE_3OP
,
ISD::FMA
,
1413
X86ISD::FMADD_RND
),
1414
X86_INTRINSIC_DATA
(avx512_vfmadd_ps_512,
INTR_TYPE_3OP
,
ISD::FMA
,
1415
X86ISD::FMADD_RND
),
1416
X86_INTRINSIC_DATA
(avx512_vfmaddsub_pd_512,
INTR_TYPE_3OP
,
X86ISD::FMADDSUB
,
1417
X86ISD::FMADDSUB_RND
),
1418
X86_INTRINSIC_DATA
(avx512_vfmaddsub_ps_512,
INTR_TYPE_3OP
,
X86ISD::FMADDSUB
,
1419
X86ISD::FMADDSUB_RND
),
1420
1421
X86_INTRINSIC_DATA
(avx512_vpdpbusd_128,
INTR_TYPE_3OP
,
X86ISD::VPDPBUSD
, 0),
1422
X86_INTRINSIC_DATA
(avx512_vpdpbusd_256,
INTR_TYPE_3OP
,
X86ISD::VPDPBUSD
, 0),
1423
X86_INTRINSIC_DATA
(avx512_vpdpbusd_512,
INTR_TYPE_3OP
,
X86ISD::VPDPBUSD
, 0),
1424
X86_INTRINSIC_DATA
(avx512_vpdpbusds_128,
INTR_TYPE_3OP
,
X86ISD::VPDPBUSDS
,
1425
0),
1426
X86_INTRINSIC_DATA
(avx512_vpdpbusds_256,
INTR_TYPE_3OP
,
X86ISD::VPDPBUSDS
,
1427
0),
1428
X86_INTRINSIC_DATA
(avx512_vpdpbusds_512,
INTR_TYPE_3OP
,
X86ISD::VPDPBUSDS
,
1429
0),
1430
X86_INTRINSIC_DATA
(avx512_vpdpwssd_128,
INTR_TYPE_3OP
,
X86ISD::VPDPWSSD
, 0),
1431
X86_INTRINSIC_DATA
(avx512_vpdpwssd_256,
INTR_TYPE_3OP
,
X86ISD::VPDPWSSD
, 0),
1432
X86_INTRINSIC_DATA
(avx512_vpdpwssd_512,
INTR_TYPE_3OP
,
X86ISD::VPDPWSSD
, 0),
1433
X86_INTRINSIC_DATA
(avx512_vpdpwssds_128,
INTR_TYPE_3OP
,
X86ISD::VPDPWSSDS
,
1434
0),
1435
X86_INTRINSIC_DATA
(avx512_vpdpwssds_256,
INTR_TYPE_3OP
,
X86ISD::VPDPWSSDS
,
1436
0),
1437
X86_INTRINSIC_DATA
(avx512_vpdpwssds_512,
INTR_TYPE_3OP
,
X86ISD::VPDPWSSDS
,
1438
0),
1439
1440
X86_INTRINSIC_DATA
(avx512_vpermi2var_d_128,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1441
0),
1442
X86_INTRINSIC_DATA
(avx512_vpermi2var_d_256,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1443
0),
1444
X86_INTRINSIC_DATA
(avx512_vpermi2var_d_512,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1445
0),
1446
X86_INTRINSIC_DATA
(avx512_vpermi2var_hi_128,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1447
0),
1448
X86_INTRINSIC_DATA
(avx512_vpermi2var_hi_256,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1449
0),
1450
X86_INTRINSIC_DATA
(avx512_vpermi2var_hi_512,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1451
0),
1452
X86_INTRINSIC_DATA
(avx512_vpermi2var_pd_128,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1453
0),
1454
X86_INTRINSIC_DATA
(avx512_vpermi2var_pd_256,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1455
0),
1456
X86_INTRINSIC_DATA
(avx512_vpermi2var_pd_512,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1457
0),
1458
X86_INTRINSIC_DATA
(avx512_vpermi2var_ps_128,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1459
0),
1460
X86_INTRINSIC_DATA
(avx512_vpermi2var_ps_256,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1461
0),
1462
X86_INTRINSIC_DATA
(avx512_vpermi2var_ps_512,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1463
0),
1464
X86_INTRINSIC_DATA
(avx512_vpermi2var_q_128,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1465
0),
1466
X86_INTRINSIC_DATA
(avx512_vpermi2var_q_256,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1467
0),
1468
X86_INTRINSIC_DATA
(avx512_vpermi2var_q_512,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1469
0),
1470
X86_INTRINSIC_DATA
(avx512_vpermi2var_qi_128,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1471
0),
1472
X86_INTRINSIC_DATA
(avx512_vpermi2var_qi_256,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1473
0),
1474
X86_INTRINSIC_DATA
(avx512_vpermi2var_qi_512,
INTR_TYPE_3OP
,
X86ISD::VPERMV3
,
1475
0),
1476
X86_INTRINSIC_DATA
(avx512_vpermilvar_pd_512,
INTR_TYPE_2OP
,
1477
X86ISD::VPERMILPV
, 0),
1478
X86_INTRINSIC_DATA
(avx512_vpermilvar_ps_512,
INTR_TYPE_2OP
,
1479
X86ISD::VPERMILPV
, 0),
1480
X86_INTRINSIC_DATA
(avx512_vpmadd52h_uq_128,
IFMA_OP
,
X86ISD::VPMADD52H
, 0),
1481
X86_INTRINSIC_DATA
(avx512_vpmadd52h_uq_256,
IFMA_OP
,
X86ISD::VPMADD52H
, 0),
1482
X86_INTRINSIC_DATA
(avx512_vpmadd52h_uq_512,
IFMA_OP
,
X86ISD::VPMADD52H
, 0),
1483
X86_INTRINSIC_DATA
(avx512_vpmadd52l_uq_128,
IFMA_OP
,
X86ISD::VPMADD52L
, 0),
1484
X86_INTRINSIC_DATA
(avx512_vpmadd52l_uq_256,
IFMA_OP
,
X86ISD::VPMADD52L
, 0),
1485
X86_INTRINSIC_DATA
(avx512_vpmadd52l_uq_512,
IFMA_OP
,
X86ISD::VPMADD52L
, 0),
1486
X86_INTRINSIC_DATA
(avx512_vpshufbitqmb_128,
INTR_TYPE_2OP
,
1487
X86ISD::VPSHUFBITQMB
, 0),
1488
X86_INTRINSIC_DATA
(avx512_vpshufbitqmb_256,
INTR_TYPE_2OP
,
1489
X86ISD::VPSHUFBITQMB
, 0),
1490
X86_INTRINSIC_DATA
(avx512_vpshufbitqmb_512,
INTR_TYPE_2OP
,
1491
X86ISD::VPSHUFBITQMB
, 0),
1492
// bfloat16
1493
X86_INTRINSIC_DATA
(avx512bf16_cvtne2ps2bf16_128,
INTR_TYPE_2OP
,
1494
X86ISD::VFPROUND2
, 0),
1495
X86_INTRINSIC_DATA
(avx512bf16_cvtne2ps2bf16_256,
INTR_TYPE_2OP
,
1496
X86ISD::VFPROUND2
, 0),
1497
X86_INTRINSIC_DATA
(avx512bf16_cvtne2ps2bf16_512,
INTR_TYPE_2OP
,
1498
X86ISD::VFPROUND2
, 0),
1499
X86_INTRINSIC_DATA
(avx512bf16_cvtneps2bf16_256,
INTR_TYPE_1OP
,
1500
X86ISD::CVTNEPS2BF16
, 0),
1501
X86_INTRINSIC_DATA
(avx512bf16_cvtneps2bf16_512,
INTR_TYPE_1OP
,
1502
X86ISD::CVTNEPS2BF16
, 0),
1503
X86_INTRINSIC_DATA
(avx512bf16_dpbf16ps_128,
INTR_TYPE_3OP
,
X86ISD::DPBF16PS
,
1504
0),
1505
X86_INTRINSIC_DATA
(avx512bf16_dpbf16ps_256,
INTR_TYPE_3OP
,
X86ISD::DPBF16PS
,
1506
0),
1507
X86_INTRINSIC_DATA
(avx512bf16_dpbf16ps_512,
INTR_TYPE_3OP
,
X86ISD::DPBF16PS
,
1508
0),
1509
X86_INTRINSIC_DATA
(avx512bf16_mask_cvtneps2bf16_128,
CVTNEPS2BF16_MASK
,
1510
X86ISD::CVTNEPS2BF16
,
X86ISD::MCVTNEPS2BF16
),
1511
X86_INTRINSIC_DATA
(avx512fp16_add_ph_512,
INTR_TYPE_2OP
,
ISD::FADD
,
1512
X86ISD::FADD_RND
),
1513
X86_INTRINSIC_DATA
(avx512fp16_div_ph_512,
INTR_TYPE_2OP
,
ISD::FDIV
,
1514
X86ISD::FDIV_RND
),
1515
X86_INTRINSIC_DATA
(avx512fp16_fpclass_ph_128,
INTR_TYPE_2OP
,
1516
X86ISD::VFPCLASS
, 0),
1517
X86_INTRINSIC_DATA
(avx512fp16_fpclass_ph_256,
INTR_TYPE_2OP
,
1518
X86ISD::VFPCLASS
, 0),
1519
X86_INTRINSIC_DATA
(avx512fp16_fpclass_ph_512,
INTR_TYPE_2OP
,
1520
X86ISD::VFPCLASS
, 0),
1521
X86_INTRINSIC_DATA
(avx512fp16_mask_add_sh_round,
INTR_TYPE_SCALAR_MASK
,
1522
X86ISD::FADDS
,
X86ISD::FADDS_RND
),
1523
X86_INTRINSIC_DATA
(avx512fp16_mask_cmp_ph_128,
CMP_MASK_CC
,
X86ISD::CMPMM
,
1524
0),
1525
X86_INTRINSIC_DATA
(avx512fp16_mask_cmp_ph_256,
CMP_MASK_CC
,
X86ISD::CMPMM
,
1526
0),
1527
X86_INTRINSIC_DATA
(avx512fp16_mask_cmp_ph_512,
CMP_MASK_CC
,
X86ISD::CMPMM
,
1528
X86ISD::CMPMM_SAE
),
1529
X86_INTRINSIC_DATA
(avx512fp16_mask_cmp_sh,
CMP_MASK_SCALAR_CC
,
1530
X86ISD::FSETCCM
,
X86ISD::FSETCCM_SAE
),
1531
X86_INTRINSIC_DATA
(avx512fp16_mask_div_sh_round,
INTR_TYPE_SCALAR_MASK
,
1532
X86ISD::FDIVS
,
X86ISD::FDIVS_RND
),
1533
X86_INTRINSIC_DATA
(avx512fp16_mask_fpclass_sh,
FPCLASSS
,
X86ISD::VFPCLASSS
,
1534
0),
1535
X86_INTRINSIC_DATA
(avx512fp16_mask_getexp_ph_128,
INTR_TYPE_1OP_MASK
,
1536
X86ISD::FGETEXP
, 0),
1537
X86_INTRINSIC_DATA
(avx512fp16_mask_getexp_ph_256,
INTR_TYPE_1OP_MASK
,
1538
X86ISD::FGETEXP
, 0),
1539
X86_INTRINSIC_DATA
(avx512fp16_mask_getexp_ph_512,
INTR_TYPE_1OP_MASK_SAE
,
1540
X86ISD::FGETEXP
,
X86ISD::FGETEXP_SAE
),
1541
X86_INTRINSIC_DATA
(avx512fp16_mask_getexp_sh,
INTR_TYPE_SCALAR_MASK_SAE
,
1542
X86ISD::FGETEXPS
,
X86ISD::FGETEXPS_SAE
),
1543
X86_INTRINSIC_DATA
(avx512fp16_mask_getmant_ph_128,
INTR_TYPE_2OP_MASK_SAE
,
1544
X86ISD::VGETMANT
, 0),
1545
X86_INTRINSIC_DATA
(avx512fp16_mask_getmant_ph_256,
INTR_TYPE_2OP_MASK_SAE
,
1546
X86ISD::VGETMANT
, 0),
1547
X86_INTRINSIC_DATA
(avx512fp16_mask_getmant_ph_512,
INTR_TYPE_2OP_MASK_SAE
,
1548
X86ISD::VGETMANT
,
X86ISD::VGETMANT_SAE
),
1549
X86_INTRINSIC_DATA
(avx512fp16_mask_getmant_sh,
1550
INTR_TYPE_3OP_SCALAR_MASK_SAE
,
X86ISD::VGETMANTS
,
1551
X86ISD::VGETMANTS_SAE
),
1552
X86_INTRINSIC_DATA
(avx512fp16_mask_max_sh_round,
INTR_TYPE_SCALAR_MASK_SAE
,
1553
X86ISD::FMAXS
,
X86ISD::FMAXS_SAE
),
1554
X86_INTRINSIC_DATA
(avx512fp16_mask_min_sh_round,
INTR_TYPE_SCALAR_MASK_SAE
,
1555
X86ISD::FMINS
,
X86ISD::FMINS_SAE
),
1556
X86_INTRINSIC_DATA
(avx512fp16_mask_mul_sh_round,
INTR_TYPE_SCALAR_MASK
,
1557
X86ISD::FMULS
,
X86ISD::FMULS_RND
),
1558
X86_INTRINSIC_DATA
(avx512fp16_mask_rcp_ph_128,
INTR_TYPE_1OP_MASK
,
1559
X86ISD::RCP14
, 0),
1560
X86_INTRINSIC_DATA
(avx512fp16_mask_rcp_ph_256,
INTR_TYPE_1OP_MASK
,
1561
X86ISD::RCP14
, 0),
1562
X86_INTRINSIC_DATA
(avx512fp16_mask_rcp_ph_512,
INTR_TYPE_1OP_MASK
,
1563
X86ISD::RCP14
, 0),
1564
X86_INTRINSIC_DATA
(avx512fp16_mask_rcp_sh,
INTR_TYPE_SCALAR_MASK
,
1565
X86ISD::RCP14S
, 0),
1566
X86_INTRINSIC_DATA
(avx512fp16_mask_reduce_ph_128,
INTR_TYPE_2OP_MASK_SAE
,
1567
X86ISD::VREDUCE
, 0),
1568
X86_INTRINSIC_DATA
(avx512fp16_mask_reduce_ph_256,
INTR_TYPE_2OP_MASK_SAE
,
1569
X86ISD::VREDUCE
, 0),
1570
X86_INTRINSIC_DATA
(avx512fp16_mask_reduce_ph_512,
INTR_TYPE_2OP_MASK_SAE
,
1571
X86ISD::VREDUCE
,
X86ISD::VREDUCE_SAE
),
1572
X86_INTRINSIC_DATA
(avx512fp16_mask_reduce_sh,
INTR_TYPE_SCALAR_MASK
,
1573
X86ISD::VREDUCES
,
X86ISD::VREDUCES_SAE
),
1574
X86_INTRINSIC_DATA
(avx512fp16_mask_rndscale_ph_128,
INTR_TYPE_2OP_MASK_SAE
,
1575
X86ISD::VRNDSCALE
, 0),
1576
X86_INTRINSIC_DATA
(avx512fp16_mask_rndscale_ph_256,
INTR_TYPE_2OP_MASK_SAE
,
1577
X86ISD::VRNDSCALE
, 0),
1578
X86_INTRINSIC_DATA
(avx512fp16_mask_rndscale_ph_512,
INTR_TYPE_2OP_MASK_SAE
,
1579
X86ISD::VRNDSCALE
,
X86ISD::VRNDSCALE_SAE
),
1580
X86_INTRINSIC_DATA
(avx512fp16_mask_rndscale_sh,
INTR_TYPE_SCALAR_MASK
,
1581
X86ISD::VRNDSCALES
,
X86ISD::VRNDSCALES_SAE
),
1582
X86_INTRINSIC_DATA
(avx512fp16_mask_rsqrt_ph_128,
INTR_TYPE_1OP_MASK
,
1583
X86ISD::RSQRT14
, 0),
1584
X86_INTRINSIC_DATA
(avx512fp16_mask_rsqrt_ph_256,
INTR_TYPE_1OP_MASK
,
1585
X86ISD::RSQRT14
, 0),
1586
X86_INTRINSIC_DATA
(avx512fp16_mask_rsqrt_ph_512,
INTR_TYPE_1OP_MASK
,
1587
X86ISD::RSQRT14
, 0),
1588
X86_INTRINSIC_DATA
(avx512fp16_mask_rsqrt_sh,
INTR_TYPE_SCALAR_MASK
,
1589
X86ISD::RSQRT14S
, 0),
1590
X86_INTRINSIC_DATA
(avx512fp16_mask_scalef_ph_128,
INTR_TYPE_2OP_MASK
,
1591
X86ISD::SCALEF
, 0),
1592
X86_INTRINSIC_DATA
(avx512fp16_mask_scalef_ph_256,
INTR_TYPE_2OP_MASK
,
1593
X86ISD::SCALEF
, 0),
1594
X86_INTRINSIC_DATA
(avx512fp16_mask_scalef_ph_512,
INTR_TYPE_2OP_MASK
,
1595
X86ISD::SCALEF
,
X86ISD::SCALEF_RND
),
1596
X86_INTRINSIC_DATA
(avx512fp16_mask_scalef_sh,
INTR_TYPE_SCALAR_MASK
,
1597
X86ISD::SCALEFS
,
X86ISD::SCALEFS_RND
),
1598
X86_INTRINSIC_DATA
(avx512fp16_mask_sqrt_sh,
INTR_TYPE_SCALAR_MASK
,
1599
X86ISD::FSQRTS
,
X86ISD::FSQRTS_RND
),
1600
X86_INTRINSIC_DATA
(avx512fp16_mask_sub_sh_round,
INTR_TYPE_SCALAR_MASK
,
1601
X86ISD::FSUBS
,
X86ISD::FSUBS_RND
),
1602
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtdq2ph_128,
TRUNCATE_TO_REG
,
1603
X86ISD::CVTSI2P
,
X86ISD::MCVTSI2P
),
1604
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtpd2ph_128,
TRUNCATE_TO_REG
,
1605
X86ISD::VFPROUND
,
X86ISD::VMFPROUND
),
1606
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtpd2ph_256,
TRUNCATE_TO_REG
,
1607
X86ISD::VFPROUND
,
X86ISD::VMFPROUND
),
1608
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtpd2ph_512,
INTR_TYPE_1OP_MASK
,
1609
X86ISD::VFPROUND
,
X86ISD::VFPROUND_RND
),
1610
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2dq_128,
INTR_TYPE_1OP_MASK
,
1611
X86ISD::CVTP2SI
, 0),
1612
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2dq_256,
INTR_TYPE_1OP_MASK
,
1613
X86ISD::CVTP2SI
, 0),
1614
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2dq_512,
INTR_TYPE_1OP_MASK
,
1615
X86ISD::CVTP2SI
,
X86ISD::CVTP2SI_RND
),
1616
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2pd_128,
INTR_TYPE_1OP_MASK
,
1617
X86ISD::VFPEXT
, 0),
1618
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2pd_256,
INTR_TYPE_1OP_MASK
,
1619
X86ISD::VFPEXT
, 0),
1620
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2pd_512,
INTR_TYPE_1OP_MASK_SAE
,
1621
ISD::FP_EXTEND,
X86ISD::VFPEXT_SAE
),
1622
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2psx_128,
INTR_TYPE_1OP_MASK
,
1623
X86ISD::VFPEXT
, 0),
1624
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2psx_256,
INTR_TYPE_1OP_MASK
,
1625
ISD::FP_EXTEND, 0),
1626
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2psx_512,
INTR_TYPE_1OP_MASK_SAE
,
1627
ISD::FP_EXTEND,
X86ISD::VFPEXT_SAE
),
1628
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2qq_128,
INTR_TYPE_1OP_MASK
,
1629
X86ISD::CVTP2SI
, 0),
1630
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2qq_256,
INTR_TYPE_1OP_MASK
,
1631
X86ISD::CVTP2SI
, 0),
1632
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2qq_512,
INTR_TYPE_1OP_MASK
,
1633
X86ISD::CVTP2SI
,
X86ISD::CVTP2SI_RND
),
1634
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2udq_128,
INTR_TYPE_1OP_MASK
,
1635
X86ISD::CVTP2UI
, 0),
1636
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2udq_256,
INTR_TYPE_1OP_MASK
,
1637
X86ISD::CVTP2UI
, 0),
1638
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2udq_512,
INTR_TYPE_1OP_MASK
,
1639
X86ISD::CVTP2UI
,
X86ISD::CVTP2UI_RND
),
1640
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2uqq_128,
INTR_TYPE_1OP_MASK
,
1641
X86ISD::CVTP2UI
, 0),
1642
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2uqq_256,
INTR_TYPE_1OP_MASK
,
1643
X86ISD::CVTP2UI
, 0),
1644
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2uqq_512,
INTR_TYPE_1OP_MASK
,
1645
X86ISD::CVTP2UI
,
X86ISD::CVTP2UI_RND
),
1646
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2uw_128,
INTR_TYPE_1OP_MASK
,
1647
X86ISD::CVTP2UI
, 0),
1648
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2uw_256,
INTR_TYPE_1OP_MASK
,
1649
X86ISD::CVTP2UI
, 0),
1650
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2uw_512,
INTR_TYPE_1OP_MASK
,
1651
X86ISD::CVTP2UI
,
X86ISD::CVTP2UI_RND
),
1652
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2w_128,
INTR_TYPE_1OP_MASK
,
1653
X86ISD::CVTP2SI
, 0),
1654
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2w_256,
INTR_TYPE_1OP_MASK
,
1655
X86ISD::CVTP2SI
, 0),
1656
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtph2w_512,
INTR_TYPE_1OP_MASK
,
1657
X86ISD::CVTP2SI
,
X86ISD::CVTP2SI_RND
),
1658
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtps2phx_128,
TRUNCATE_TO_REG
,
1659
X86ISD::VFPROUND
,
X86ISD::VMFPROUND
),
1660
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtps2phx_256,
INTR_TYPE_1OP_MASK
,
1661
X86ISD::VFPROUND
, 0),
1662
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtps2phx_512,
INTR_TYPE_1OP_MASK
,
1663
X86ISD::VFPROUND
,
X86ISD::VFPROUND_RND
),
1664
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtqq2ph_128,
TRUNCATE_TO_REG
,
1665
X86ISD::CVTSI2P
,
X86ISD::MCVTSI2P
),
1666
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtqq2ph_256,
TRUNCATE_TO_REG
,
1667
X86ISD::CVTSI2P
,
X86ISD::MCVTSI2P
),
1668
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtsd2sh_round,
1669
INTR_TYPE_SCALAR_MASK_RND
,
X86ISD::VFPROUNDS
,
1670
X86ISD::VFPROUNDS_RND
),
1671
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtsh2sd_round,
1672
INTR_TYPE_SCALAR_MASK_SAE
,
X86ISD::VFPEXTS
,
1673
X86ISD::VFPEXTS_SAE
),
1674
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtsh2ss_round,
1675
INTR_TYPE_SCALAR_MASK_SAE
,
X86ISD::VFPEXTS
,
1676
X86ISD::VFPEXTS_SAE
),
1677
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtss2sh_round,
1678
INTR_TYPE_SCALAR_MASK_RND
,
X86ISD::VFPROUNDS
,
1679
X86ISD::VFPROUNDS_RND
),
1680
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2dq_128,
INTR_TYPE_1OP_MASK
,
1681
X86ISD::CVTTP2SI
, 0),
1682
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2dq_256,
INTR_TYPE_1OP_MASK
,
1683
X86ISD::CVTTP2SI
, 0),
1684
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2dq_512,
INTR_TYPE_1OP_MASK_SAE
,
1685
X86ISD::CVTTP2SI
,
X86ISD::CVTTP2SI_SAE
),
1686
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2qq_128,
INTR_TYPE_1OP_MASK
,
1687
X86ISD::CVTTP2SI
, 0),
1688
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2qq_256,
INTR_TYPE_1OP_MASK
,
1689
X86ISD::CVTTP2SI
, 0),
1690
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2qq_512,
INTR_TYPE_1OP_MASK_SAE
,
1691
X86ISD::CVTTP2SI
,
X86ISD::CVTTP2SI_SAE
),
1692
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2udq_128,
INTR_TYPE_1OP_MASK
,
1693
X86ISD::CVTTP2UI
, 0),
1694
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2udq_256,
INTR_TYPE_1OP_MASK
,
1695
X86ISD::CVTTP2UI
, 0),
1696
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2udq_512,
INTR_TYPE_1OP_MASK_SAE
,
1697
X86ISD::CVTTP2UI
,
X86ISD::CVTTP2UI_SAE
),
1698
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2uqq_128,
INTR_TYPE_1OP_MASK
,
1699
X86ISD::CVTTP2UI
, 0),
1700
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2uqq_256,
INTR_TYPE_1OP_MASK
,
1701
X86ISD::CVTTP2UI
, 0),
1702
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2uqq_512,
INTR_TYPE_1OP_MASK_SAE
,
1703
X86ISD::CVTTP2UI
,
X86ISD::CVTTP2UI_SAE
),
1704
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2uw_128,
INTR_TYPE_1OP_MASK
,
1705
X86ISD::CVTTP2UI
, 0),
1706
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2uw_256,
INTR_TYPE_1OP_MASK
,
1707
X86ISD::CVTTP2UI
, 0),
1708
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2uw_512,
INTR_TYPE_1OP_MASK_SAE
,
1709
X86ISD::CVTTP2UI
,
X86ISD::CVTTP2UI_SAE
),
1710
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2w_128,
INTR_TYPE_1OP_MASK
,
1711
X86ISD::CVTTP2SI
, 0),
1712
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2w_256,
INTR_TYPE_1OP_MASK
,
1713
X86ISD::CVTTP2SI
, 0),
1714
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvttph2w_512,
INTR_TYPE_1OP_MASK_SAE
,
1715
X86ISD::CVTTP2SI
,
X86ISD::CVTTP2SI_SAE
),
1716
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtudq2ph_128,
TRUNCATE_TO_REG
,
1717
X86ISD::CVTUI2P
,
X86ISD::MCVTUI2P
),
1718
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtuqq2ph_128,
TRUNCATE_TO_REG
,
1719
X86ISD::CVTUI2P
,
X86ISD::MCVTUI2P
),
1720
X86_INTRINSIC_DATA
(avx512fp16_mask_vcvtuqq2ph_256,
TRUNCATE_TO_REG
,
1721
X86ISD::CVTUI2P
,
X86ISD::MCVTUI2P
),
1722
X86_INTRINSIC_DATA
(avx512fp16_mask_vfcmadd_cph_128,
CFMA_OP_MASK
,
1723
X86ISD::VFCMADDC
, 0),
1724
X86_INTRINSIC_DATA
(avx512fp16_mask_vfcmadd_cph_256,
CFMA_OP_MASK
,
1725
X86ISD::VFCMADDC
, 0),
1726
X86_INTRINSIC_DATA
(avx512fp16_mask_vfcmadd_cph_512,
CFMA_OP_MASK
,
1727
X86ISD::VFCMADDC
,
X86ISD::VFCMADDC_RND
),
1728
X86_INTRINSIC_DATA
(avx512fp16_mask_vfcmadd_csh,
CFMA_OP_MASK
,
1729
X86ISD::VFCMADDCSH
,
X86ISD::VFCMADDCSH_RND
),
1730
X86_INTRINSIC_DATA
(avx512fp16_mask_vfcmul_cph_128,
INTR_TYPE_2OP_MASK
,
1731
X86ISD::VFCMULC
, 0),
1732
X86_INTRINSIC_DATA
(avx512fp16_mask_vfcmul_cph_256,
INTR_TYPE_2OP_MASK
,
1733
X86ISD::VFCMULC
, 0),
1734
X86_INTRINSIC_DATA
(avx512fp16_mask_vfcmul_cph_512,
INTR_TYPE_2OP_MASK
,
1735
X86ISD::VFCMULC
,
X86ISD::VFCMULC_RND
),
1736
X86_INTRINSIC_DATA
(avx512fp16_mask_vfcmul_csh,
INTR_TYPE_SCALAR_MASK
,
1737
X86ISD::VFCMULCSH
,
X86ISD::VFCMULCSH_RND
),
1738
X86_INTRINSIC_DATA
(avx512fp16_mask_vfmadd_cph_128,
CFMA_OP_MASK
,
1739
X86ISD::VFMADDC
, 0),
1740
X86_INTRINSIC_DATA
(avx512fp16_mask_vfmadd_cph_256,
CFMA_OP_MASK
,
1741
X86ISD::VFMADDC
, 0),
1742
X86_INTRINSIC_DATA
(avx512fp16_mask_vfmadd_cph_512,
CFMA_OP_MASK
,
1743
X86ISD::VFMADDC
,
X86ISD::VFMADDC_RND
),
1744
X86_INTRINSIC_DATA
(avx512fp16_mask_vfmadd_csh,
CFMA_OP_MASK
,
1745
X86ISD::VFMADDCSH
,
X86ISD::VFMADDCSH_RND
),
1746
X86_INTRINSIC_DATA
(avx512fp16_mask_vfmul_cph_128,
INTR_TYPE_2OP_MASK
,
1747
X86ISD::VFMULC
, 0),
1748
X86_INTRINSIC_DATA
(avx512fp16_mask_vfmul_cph_256,
INTR_TYPE_2OP_MASK
,
1749
X86ISD::VFMULC
, 0),
1750
X86_INTRINSIC_DATA
(avx512fp16_mask_vfmul_cph_512,
INTR_TYPE_2OP_MASK
,
1751
X86ISD::VFMULC
,
X86ISD::VFMULC_RND
),
1752
X86_INTRINSIC_DATA
(avx512fp16_mask_vfmul_csh,
INTR_TYPE_SCALAR_MASK
,
1753
X86ISD::VFMULCSH
,
X86ISD::VFMULCSH_RND
),
1754
X86_INTRINSIC_DATA
(avx512fp16_maskz_vfcmadd_cph_128,
CFMA_OP_MASKZ
,
1755
X86ISD::VFCMADDC
, 0),
1756
X86_INTRINSIC_DATA
(avx512fp16_maskz_vfcmadd_cph_256,
CFMA_OP_MASKZ
,
1757
X86ISD::VFCMADDC
, 0),
1758
X86_INTRINSIC_DATA
(avx512fp16_maskz_vfcmadd_cph_512,
CFMA_OP_MASKZ
,
1759
X86ISD::VFCMADDC
,
X86ISD::VFCMADDC_RND
),
1760
X86_INTRINSIC_DATA
(avx512fp16_maskz_vfcmadd_csh,
CFMA_OP_MASKZ
,
1761
X86ISD::VFCMADDCSH
,
X86ISD::VFCMADDCSH_RND
),
1762
X86_INTRINSIC_DATA
(avx512fp16_maskz_vfmadd_cph_128,
CFMA_OP_MASKZ
,
1763
X86ISD::VFMADDC
, 0),
1764
X86_INTRINSIC_DATA
(avx512fp16_maskz_vfmadd_cph_256,
CFMA_OP_MASKZ
,
1765
X86ISD::VFMADDC
, 0),
1766
X86_INTRINSIC_DATA
(avx512fp16_maskz_vfmadd_cph_512,
CFMA_OP_MASKZ
,
1767
X86ISD::VFMADDC
,
X86ISD::VFMADDC_RND
),
1768
X86_INTRINSIC_DATA
(avx512fp16_maskz_vfmadd_csh,
CFMA_OP_MASKZ
,
1769
X86ISD::VFMADDCSH
,
X86ISD::VFMADDCSH_RND
),
1770
X86_INTRINSIC_DATA
(avx512fp16_max_ph_128,
INTR_TYPE_2OP
,
X86ISD::FMAX
, 0),
1771
X86_INTRINSIC_DATA
(avx512fp16_max_ph_256,
INTR_TYPE_2OP
,
X86ISD::FMAX
, 0),
1772
X86_INTRINSIC_DATA
(avx512fp16_max_ph_512,
INTR_TYPE_2OP_SAE
,
X86ISD::FMAX
,
1773
X86ISD::FMAX_SAE
),
1774
X86_INTRINSIC_DATA
(avx512fp16_min_ph_128,
INTR_TYPE_2OP
,
X86ISD::FMIN
, 0),
1775
X86_INTRINSIC_DATA
(avx512fp16_min_ph_256,
INTR_TYPE_2OP
,
X86ISD::FMIN
, 0),
1776
X86_INTRINSIC_DATA
(avx512fp16_min_ph_512,
INTR_TYPE_2OP_SAE
,
X86ISD::FMIN
,
1777
X86ISD::FMIN_SAE
),
1778
X86_INTRINSIC_DATA
(avx512fp16_mul_ph_512,
INTR_TYPE_2OP
,
ISD::FMUL
,
1779
X86ISD::FMUL_RND
),
1780
X86_INTRINSIC_DATA
(avx512fp16_sqrt_ph_512,
INTR_TYPE_1OP
, ISD::FSQRT,
1781
X86ISD::FSQRT_RND
),
1782
X86_INTRINSIC_DATA
(avx512fp16_sub_ph_512,
INTR_TYPE_2OP
,
ISD::FSUB
,
1783
X86ISD::FSUB_RND
),
1784
X86_INTRINSIC_DATA
(avx512fp16_vcomi_sh,
COMI_RM
,
X86ISD::COMI
,
1785
X86ISD::UCOMI
),
1786
/*fp16 scalar convert instruction*/
1787
X86_INTRINSIC_DATA
(avx512fp16_vcvtsh2si32,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
,
1788
X86ISD::CVTS2SI_RND
),
1789
X86_INTRINSIC_DATA
(avx512fp16_vcvtsh2si64,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
,
1790
X86ISD::CVTS2SI_RND
),
1791
X86_INTRINSIC_DATA
(avx512fp16_vcvtsh2usi32,
INTR_TYPE_1OP
,
X86ISD::CVTS2UI
,
1792
X86ISD::CVTS2UI_RND
),
1793
X86_INTRINSIC_DATA
(avx512fp16_vcvtsh2usi64,
INTR_TYPE_1OP
,
X86ISD::CVTS2UI
,
1794
X86ISD::CVTS2UI_RND
),
1795
X86_INTRINSIC_DATA
(avx512fp16_vcvtsi2sh,
INTR_TYPE_2OP
,
1796
X86ISD::SCALAR_SINT_TO_FP
,
1797
X86ISD::SCALAR_SINT_TO_FP_RND
),
1798
X86_INTRINSIC_DATA
(avx512fp16_vcvtsi642sh,
INTR_TYPE_2OP
,
1799
X86ISD::SCALAR_SINT_TO_FP
,
1800
X86ISD::SCALAR_SINT_TO_FP_RND
),
1801
X86_INTRINSIC_DATA
(avx512fp16_vcvttsh2si32,
INTR_TYPE_1OP_SAE
,
1802
X86ISD::CVTTS2SI
,
X86ISD::CVTTS2SI_SAE
),
1803
X86_INTRINSIC_DATA
(avx512fp16_vcvttsh2si64,
INTR_TYPE_1OP_SAE
,
1804
X86ISD::CVTTS2SI
,
X86ISD::CVTTS2SI_SAE
),
1805
X86_INTRINSIC_DATA
(avx512fp16_vcvttsh2usi32,
INTR_TYPE_1OP_SAE
,
1806
X86ISD::CVTTS2UI
,
X86ISD::CVTTS2UI_SAE
),
1807
X86_INTRINSIC_DATA
(avx512fp16_vcvttsh2usi64,
INTR_TYPE_1OP_SAE
,
1808
X86ISD::CVTTS2UI
,
X86ISD::CVTTS2UI_SAE
),
1809
X86_INTRINSIC_DATA
(avx512fp16_vcvtusi2sh,
INTR_TYPE_2OP
,
1810
X86ISD::SCALAR_UINT_TO_FP
,
1811
X86ISD::SCALAR_UINT_TO_FP_RND
),
1812
X86_INTRINSIC_DATA
(avx512fp16_vcvtusi642sh,
INTR_TYPE_2OP
,
1813
X86ISD::SCALAR_UINT_TO_FP
,
1814
X86ISD::SCALAR_UINT_TO_FP_RND
),
1815
X86_INTRINSIC_DATA
(avx512fp16_vfmadd_f16,
INTR_TYPE_3OP
,
ISD::FMA
,
1816
X86ISD::FMADD_RND
),
1817
X86_INTRINSIC_DATA
(avx512fp16_vfmadd_ph_512,
INTR_TYPE_3OP
,
ISD::FMA
,
1818
X86ISD::FMADD_RND
),
1819
X86_INTRINSIC_DATA
(avx512fp16_vfmaddsub_ph_128,
INTR_TYPE_3OP
,
1820
X86ISD::FMADDSUB
, 0),
1821
X86_INTRINSIC_DATA
(avx512fp16_vfmaddsub_ph_256,
INTR_TYPE_3OP
,
1822
X86ISD::FMADDSUB
, 0),
1823
X86_INTRINSIC_DATA
(avx512fp16_vfmaddsub_ph_512,
INTR_TYPE_3OP
,
1824
X86ISD::FMADDSUB
,
X86ISD::FMADDSUB_RND
),
1825
X86_INTRINSIC_DATA
(bmi_bextr_32,
INTR_TYPE_2OP
,
X86ISD::BEXTR
, 0),
1826
X86_INTRINSIC_DATA
(bmi_bextr_64,
INTR_TYPE_2OP
,
X86ISD::BEXTR
, 0),
1827
X86_INTRINSIC_DATA
(bmi_bzhi_32,
INTR_TYPE_2OP
,
X86ISD::BZHI
, 0),
1828
X86_INTRINSIC_DATA
(bmi_bzhi_64,
INTR_TYPE_2OP
,
X86ISD::BZHI
, 0),
1829
X86_INTRINSIC_DATA
(bmi_pdep_32,
INTR_TYPE_2OP
,
X86ISD::PDEP
, 0),
1830
X86_INTRINSIC_DATA
(bmi_pdep_64,
INTR_TYPE_2OP
,
X86ISD::PDEP
, 0),
1831
X86_INTRINSIC_DATA
(bmi_pext_32,
INTR_TYPE_2OP
,
X86ISD::PEXT
, 0),
1832
X86_INTRINSIC_DATA
(bmi_pext_64,
INTR_TYPE_2OP
,
X86ISD::PEXT
, 0),
1833
X86_INTRINSIC_DATA
(fma_vfmaddsub_pd,
INTR_TYPE_3OP
,
X86ISD::FMADDSUB
, 0),
1834
X86_INTRINSIC_DATA
(fma_vfmaddsub_pd_256,
INTR_TYPE_3OP
,
X86ISD::FMADDSUB
,
1835
0),
1836
X86_INTRINSIC_DATA
(fma_vfmaddsub_ps,
INTR_TYPE_3OP
,
X86ISD::FMADDSUB
, 0),
1837
X86_INTRINSIC_DATA
(fma_vfmaddsub_ps_256,
INTR_TYPE_3OP
,
X86ISD::FMADDSUB
,
1838
0),
1839
1840
X86_INTRINSIC_DATA
(mmx_packssdw,
INTR_TYPE_CAST_MMX
, 0, 0),
1841
X86_INTRINSIC_DATA
(mmx_packsswb,
INTR_TYPE_CAST_MMX
, 0, 0),
1842
X86_INTRINSIC_DATA
(mmx_packuswb,
INTR_TYPE_CAST_MMX
, 0, 0),
1843
X86_INTRINSIC_DATA
(mmx_padd_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1844
X86_INTRINSIC_DATA
(mmx_padd_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1845
X86_INTRINSIC_DATA
(mmx_padd_q,
INTR_TYPE_CAST_MMX
, 0, 0),
1846
X86_INTRINSIC_DATA
(mmx_padd_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1847
X86_INTRINSIC_DATA
(mmx_padds_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1848
X86_INTRINSIC_DATA
(mmx_padds_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1849
X86_INTRINSIC_DATA
(mmx_paddus_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1850
X86_INTRINSIC_DATA
(mmx_paddus_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1851
X86_INTRINSIC_DATA
(mmx_palignr_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1852
X86_INTRINSIC_DATA
(mmx_pand,
INTR_TYPE_CAST_MMX
, 0, 0),
1853
X86_INTRINSIC_DATA
(mmx_pandn,
INTR_TYPE_CAST_MMX
, 0, 0),
1854
X86_INTRINSIC_DATA
(mmx_pavg_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1855
X86_INTRINSIC_DATA
(mmx_pavg_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1856
X86_INTRINSIC_DATA
(mmx_pcmpeq_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1857
X86_INTRINSIC_DATA
(mmx_pcmpeq_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1858
X86_INTRINSIC_DATA
(mmx_pcmpeq_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1859
X86_INTRINSIC_DATA
(mmx_pcmpgt_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1860
X86_INTRINSIC_DATA
(mmx_pcmpgt_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1861
X86_INTRINSIC_DATA
(mmx_pcmpgt_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1862
X86_INTRINSIC_DATA
(mmx_pextr_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1863
X86_INTRINSIC_DATA
(mmx_pinsr_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1864
X86_INTRINSIC_DATA
(mmx_pmadd_wd,
INTR_TYPE_CAST_MMX
, 0, 0),
1865
X86_INTRINSIC_DATA
(mmx_pmaxs_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1866
X86_INTRINSIC_DATA
(mmx_pmaxu_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1867
X86_INTRINSIC_DATA
(mmx_pmins_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1868
X86_INTRINSIC_DATA
(mmx_pminu_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1869
X86_INTRINSIC_DATA
(mmx_pmovmskb,
INTR_TYPE_CAST_MMX
, 0, 0),
1870
X86_INTRINSIC_DATA
(mmx_pmulh_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1871
X86_INTRINSIC_DATA
(mmx_pmulhu_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1872
X86_INTRINSIC_DATA
(mmx_pmull_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1873
X86_INTRINSIC_DATA
(mmx_pmulu_dq,
INTR_TYPE_CAST_MMX
, 0, 0),
1874
X86_INTRINSIC_DATA
(mmx_por,
INTR_TYPE_CAST_MMX
, 0, 0),
1875
X86_INTRINSIC_DATA
(mmx_psad_bw,
INTR_TYPE_CAST_MMX
, 0, 0),
1876
X86_INTRINSIC_DATA
(mmx_psll_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1877
X86_INTRINSIC_DATA
(mmx_psll_q,
INTR_TYPE_CAST_MMX
, 0, 0),
1878
X86_INTRINSIC_DATA
(mmx_psll_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1879
X86_INTRINSIC_DATA
(mmx_pslli_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1880
X86_INTRINSIC_DATA
(mmx_pslli_q,
INTR_TYPE_CAST_MMX
, 0, 0),
1881
X86_INTRINSIC_DATA
(mmx_pslli_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1882
X86_INTRINSIC_DATA
(mmx_psra_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1883
X86_INTRINSIC_DATA
(mmx_psra_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1884
X86_INTRINSIC_DATA
(mmx_psrai_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1885
X86_INTRINSIC_DATA
(mmx_psrai_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1886
X86_INTRINSIC_DATA
(mmx_psrl_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1887
X86_INTRINSIC_DATA
(mmx_psrl_q,
INTR_TYPE_CAST_MMX
, 0, 0),
1888
X86_INTRINSIC_DATA
(mmx_psrl_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1889
X86_INTRINSIC_DATA
(mmx_psrli_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1890
X86_INTRINSIC_DATA
(mmx_psrli_q,
INTR_TYPE_CAST_MMX
, 0, 0),
1891
X86_INTRINSIC_DATA
(mmx_psrli_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1892
X86_INTRINSIC_DATA
(mmx_psub_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1893
X86_INTRINSIC_DATA
(mmx_psub_d,
INTR_TYPE_CAST_MMX
, 0, 0),
1894
X86_INTRINSIC_DATA
(mmx_psub_q,
INTR_TYPE_CAST_MMX
, 0, 0),
1895
X86_INTRINSIC_DATA
(mmx_psub_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1896
X86_INTRINSIC_DATA
(mmx_psubs_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1897
X86_INTRINSIC_DATA
(mmx_psubs_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1898
X86_INTRINSIC_DATA
(mmx_psubus_b,
INTR_TYPE_CAST_MMX
, 0, 0),
1899
X86_INTRINSIC_DATA
(mmx_psubus_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1900
X86_INTRINSIC_DATA
(mmx_punpckhbw,
INTR_TYPE_CAST_MMX
, 0, 0),
1901
X86_INTRINSIC_DATA
(mmx_punpckhdq,
INTR_TYPE_CAST_MMX
, 0, 0),
1902
X86_INTRINSIC_DATA
(mmx_punpckhwd,
INTR_TYPE_CAST_MMX
, 0, 0),
1903
X86_INTRINSIC_DATA
(mmx_punpcklbw,
INTR_TYPE_CAST_MMX
, 0, 0),
1904
X86_INTRINSIC_DATA
(mmx_punpckldq,
INTR_TYPE_CAST_MMX
, 0, 0),
1905
X86_INTRINSIC_DATA
(mmx_punpcklwd,
INTR_TYPE_CAST_MMX
, 0, 0),
1906
X86_INTRINSIC_DATA
(mmx_pxor,
INTR_TYPE_CAST_MMX
, 0, 0),
1907
1908
X86_INTRINSIC_DATA
(sse_cmp_ps,
INTR_TYPE_3OP
,
X86ISD::CMPP
, 0),
1909
X86_INTRINSIC_DATA
(sse_cmp_ss,
INTR_TYPE_3OP
,
X86ISD::FSETCC
, 0),
1910
X86_INTRINSIC_DATA
(sse_comieq_ss,
COMI
,
X86ISD::COMI
,
ISD::SETEQ
),
1911
X86_INTRINSIC_DATA
(sse_comige_ss,
COMI
,
X86ISD::COMI
,
ISD::SETGE
),
1912
X86_INTRINSIC_DATA
(sse_comigt_ss,
COMI
,
X86ISD::COMI
,
ISD::SETGT
),
1913
X86_INTRINSIC_DATA
(sse_comile_ss,
COMI
,
X86ISD::COMI
,
ISD::SETLE
),
1914
X86_INTRINSIC_DATA
(sse_comilt_ss,
COMI
,
X86ISD::COMI
,
ISD::SETLT
),
1915
X86_INTRINSIC_DATA
(sse_comineq_ss,
COMI
,
X86ISD::COMI
,
ISD::SETNE
),
1916
X86_INTRINSIC_DATA
(sse_cvtpd2pi,
INTR_TYPE_CAST_MMX
, 0, 0),
1917
X86_INTRINSIC_DATA
(sse_cvtpi2pd,
INTR_TYPE_CAST_MMX
, 0, 0),
1918
X86_INTRINSIC_DATA
(sse_cvtpi2ps,
INTR_TYPE_CAST_MMX
, 0, 0),
1919
X86_INTRINSIC_DATA
(sse_cvtps2pi,
INTR_TYPE_CAST_MMX
, 0, 0),
1920
X86_INTRINSIC_DATA
(sse_cvtss2si,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
, 0),
1921
X86_INTRINSIC_DATA
(sse_cvtss2si64,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
, 0),
1922
X86_INTRINSIC_DATA
(sse_cvttpd2pi,
INTR_TYPE_CAST_MMX
, 0, 0),
1923
X86_INTRINSIC_DATA
(sse_cvttps2pi,
INTR_TYPE_CAST_MMX
, 0, 0),
1924
X86_INTRINSIC_DATA
(sse_cvttss2si,
INTR_TYPE_1OP
,
X86ISD::CVTTS2SI
, 0),
1925
X86_INTRINSIC_DATA
(sse_cvttss2si64,
INTR_TYPE_1OP
,
X86ISD::CVTTS2SI
, 0),
1926
X86_INTRINSIC_DATA
(sse_max_ps,
INTR_TYPE_2OP
,
X86ISD::FMAX
, 0),
1927
X86_INTRINSIC_DATA
(sse_max_ss,
INTR_TYPE_2OP
,
X86ISD::FMAXS
, 0),
1928
X86_INTRINSIC_DATA
(sse_min_ps,
INTR_TYPE_2OP
,
X86ISD::FMIN
, 0),
1929
X86_INTRINSIC_DATA
(sse_min_ss,
INTR_TYPE_2OP
,
X86ISD::FMINS
, 0),
1930
X86_INTRINSIC_DATA
(sse_movmsk_ps,
INTR_TYPE_1OP
,
X86ISD::MOVMSK
, 0),
1931
X86_INTRINSIC_DATA
(sse_pshuf_w,
INTR_TYPE_CAST_MMX
, 0, 0),
1932
X86_INTRINSIC_DATA
(sse_rcp_ps,
INTR_TYPE_1OP
,
X86ISD::FRCP
, 0),
1933
X86_INTRINSIC_DATA
(sse_rsqrt_ps,
INTR_TYPE_1OP
,
X86ISD::FRSQRT
, 0),
1934
X86_INTRINSIC_DATA
(sse_ucomieq_ss,
COMI
,
X86ISD::UCOMI
,
ISD::SETEQ
),
1935
X86_INTRINSIC_DATA
(sse_ucomige_ss,
COMI
,
X86ISD::UCOMI
,
ISD::SETGE
),
1936
X86_INTRINSIC_DATA
(sse_ucomigt_ss,
COMI
,
X86ISD::UCOMI
,
ISD::SETGT
),
1937
X86_INTRINSIC_DATA
(sse_ucomile_ss,
COMI
,
X86ISD::UCOMI
,
ISD::SETLE
),
1938
X86_INTRINSIC_DATA
(sse_ucomilt_ss,
COMI
,
X86ISD::UCOMI
,
ISD::SETLT
),
1939
X86_INTRINSIC_DATA
(sse_ucomineq_ss,
COMI
,
X86ISD::UCOMI
,
ISD::SETNE
),
1940
X86_INTRINSIC_DATA
(sse2_cmp_pd,
INTR_TYPE_3OP
,
X86ISD::CMPP
, 0),
1941
X86_INTRINSIC_DATA
(sse2_cmp_sd,
INTR_TYPE_3OP
,
X86ISD::FSETCC
, 0),
1942
X86_INTRINSIC_DATA
(sse2_comieq_sd,
COMI
,
X86ISD::COMI
,
ISD::SETEQ
),
1943
X86_INTRINSIC_DATA
(sse2_comige_sd,
COMI
,
X86ISD::COMI
,
ISD::SETGE
),
1944
X86_INTRINSIC_DATA
(sse2_comigt_sd,
COMI
,
X86ISD::COMI
,
ISD::SETGT
),
1945
X86_INTRINSIC_DATA
(sse2_comile_sd,
COMI
,
X86ISD::COMI
,
ISD::SETLE
),
1946
X86_INTRINSIC_DATA
(sse2_comilt_sd,
COMI
,
X86ISD::COMI
,
ISD::SETLT
),
1947
X86_INTRINSIC_DATA
(sse2_comineq_sd,
COMI
,
X86ISD::COMI
,
ISD::SETNE
),
1948
X86_INTRINSIC_DATA
(sse2_cvtpd2dq,
INTR_TYPE_1OP
,
X86ISD::CVTP2SI
, 0),
1949
X86_INTRINSIC_DATA
(sse2_cvtpd2ps,
INTR_TYPE_1OP
,
X86ISD::VFPROUND
, 0),
1950
X86_INTRINSIC_DATA
(sse2_cvtps2dq,
INTR_TYPE_1OP
,
X86ISD::CVTP2SI
, 0),
1951
X86_INTRINSIC_DATA
(sse2_cvtsd2si,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
, 0),
1952
X86_INTRINSIC_DATA
(sse2_cvtsd2si64,
INTR_TYPE_1OP
,
X86ISD::CVTS2SI
, 0),
1953
X86_INTRINSIC_DATA
(sse2_cvtsd2ss,
INTR_TYPE_2OP
,
X86ISD::VFPROUNDS
, 0),
1954
X86_INTRINSIC_DATA
(sse2_cvttpd2dq,
INTR_TYPE_1OP
,
X86ISD::CVTTP2SI
, 0),
1955
X86_INTRINSIC_DATA
(sse2_cvttps2dq,
INTR_TYPE_1OP
,
X86ISD::CVTTP2SI
, 0),
1956
X86_INTRINSIC_DATA
(sse2_cvttsd2si,
INTR_TYPE_1OP
,
X86ISD::CVTTS2SI
, 0),
1957
X86_INTRINSIC_DATA
(sse2_cvttsd2si64,
INTR_TYPE_1OP
,
X86ISD::CVTTS2SI
, 0),
1958
X86_INTRINSIC_DATA
(sse2_max_pd,
INTR_TYPE_2OP
,
X86ISD::FMAX
, 0),
1959
X86_INTRINSIC_DATA
(sse2_max_sd,
INTR_TYPE_2OP
,
X86ISD::FMAXS
, 0),
1960
X86_INTRINSIC_DATA
(sse2_min_pd,
INTR_TYPE_2OP
,
X86ISD::FMIN
, 0),
1961
X86_INTRINSIC_DATA
(sse2_min_sd,
INTR_TYPE_2OP
,
X86ISD::FMINS
, 0),
1962
X86_INTRINSIC_DATA
(sse2_movmsk_pd,
INTR_TYPE_1OP
,
X86ISD::MOVMSK
, 0),
1963
X86_INTRINSIC_DATA
(sse2_packssdw_128,
INTR_TYPE_2OP
,
X86ISD::PACKSS
, 0),
1964
X86_INTRINSIC_DATA
(sse2_packsswb_128,
INTR_TYPE_2OP
,
X86ISD::PACKSS
, 0),
1965
X86_INTRINSIC_DATA
(sse2_packuswb_128,
INTR_TYPE_2OP
,
X86ISD::PACKUS
, 0),
1966
X86_INTRINSIC_DATA
(sse2_pavg_b,
INTR_TYPE_2OP
,
ISD::AVGCEILU
, 0),
1967
X86_INTRINSIC_DATA
(sse2_pavg_w,
INTR_TYPE_2OP
,
ISD::AVGCEILU
, 0),
1968
X86_INTRINSIC_DATA
(sse2_pmadd_wd,
INTR_TYPE_2OP
,
X86ISD::VPMADDWD
, 0),
1969
X86_INTRINSIC_DATA
(sse2_pmovmskb_128,
INTR_TYPE_1OP
,
X86ISD::MOVMSK
, 0),
1970
X86_INTRINSIC_DATA
(sse2_pmulh_w,
INTR_TYPE_2OP
,
ISD::MULHS
, 0),
1971
X86_INTRINSIC_DATA
(sse2_pmulhu_w,
INTR_TYPE_2OP
,
ISD::MULHU
, 0),
1972
X86_INTRINSIC_DATA
(sse2_psad_bw,
INTR_TYPE_2OP
,
X86ISD::PSADBW
, 0),
1973
X86_INTRINSIC_DATA
(sse2_psll_d,
INTR_TYPE_2OP
,
X86ISD::VSHL
, 0),
1974
X86_INTRINSIC_DATA
(sse2_psll_q,
INTR_TYPE_2OP
,
X86ISD::VSHL
, 0),
1975
X86_INTRINSIC_DATA
(sse2_psll_w,
INTR_TYPE_2OP
,
X86ISD::VSHL
, 0),
1976
X86_INTRINSIC_DATA
(sse2_pslli_d,
VSHIFT
,
X86ISD::VSHLI
, 0),
1977
X86_INTRINSIC_DATA
(sse2_pslli_q,
VSHIFT
,
X86ISD::VSHLI
, 0),
1978
X86_INTRINSIC_DATA
(sse2_pslli_w,
VSHIFT
,
X86ISD::VSHLI
, 0),
1979
X86_INTRINSIC_DATA
(sse2_psra_d,
INTR_TYPE_2OP
,
X86ISD::VSRA
, 0),
1980
X86_INTRINSIC_DATA
(sse2_psra_w,
INTR_TYPE_2OP
,
X86ISD::VSRA
, 0),
1981
X86_INTRINSIC_DATA
(sse2_psrai_d,
VSHIFT
,
X86ISD::VSRAI
, 0),
1982
X86_INTRINSIC_DATA
(sse2_psrai_w,
VSHIFT
,
X86ISD::VSRAI
, 0),
1983
X86_INTRINSIC_DATA
(sse2_psrl_d,
INTR_TYPE_2OP
,
X86ISD::VSRL
, 0),
1984
X86_INTRINSIC_DATA
(sse2_psrl_q,
INTR_TYPE_2OP
,
X86ISD::VSRL
, 0),
1985
X86_INTRINSIC_DATA
(sse2_psrl_w,
INTR_TYPE_2OP
,
X86ISD::VSRL
, 0),
1986
X86_INTRINSIC_DATA
(sse2_psrli_d,
VSHIFT
,
X86ISD::VSRLI
, 0),
1987
X86_INTRINSIC_DATA
(sse2_psrli_q,
VSHIFT
,
X86ISD::VSRLI
, 0),
1988
X86_INTRINSIC_DATA
(sse2_psrli_w,
VSHIFT
,
X86ISD::VSRLI
, 0),
1989
X86_INTRINSIC_DATA
(sse2_ucomieq_sd,
COMI
,
X86ISD::UCOMI
,
ISD::SETEQ
),
1990
X86_INTRINSIC_DATA
(sse2_ucomige_sd,
COMI
,
X86ISD::UCOMI
,
ISD::SETGE
),
1991
X86_INTRINSIC_DATA
(sse2_ucomigt_sd,
COMI
,
X86ISD::UCOMI
,
ISD::SETGT
),
1992
X86_INTRINSIC_DATA
(sse2_ucomile_sd,
COMI
,
X86ISD::UCOMI
,
ISD::SETLE
),
1993
X86_INTRINSIC_DATA
(sse2_ucomilt_sd,
COMI
,
X86ISD::UCOMI
,
ISD::SETLT
),
1994
X86_INTRINSIC_DATA
(sse2_ucomineq_sd,
COMI
,
X86ISD::UCOMI
,
ISD::SETNE
),
1995
X86_INTRINSIC_DATA
(sse3_addsub_pd,
INTR_TYPE_2OP
,
X86ISD::ADDSUB
, 0),
1996
X86_INTRINSIC_DATA
(sse3_addsub_ps,
INTR_TYPE_2OP
,
X86ISD::ADDSUB
, 0),
1997
X86_INTRINSIC_DATA
(sse3_hadd_pd,
INTR_TYPE_2OP
,
X86ISD::FHADD
, 0),
1998
X86_INTRINSIC_DATA
(sse3_hadd_ps,
INTR_TYPE_2OP
,
X86ISD::FHADD
, 0),
1999
X86_INTRINSIC_DATA
(sse3_hsub_pd,
INTR_TYPE_2OP
,
X86ISD::FHSUB
, 0),
2000
X86_INTRINSIC_DATA
(sse3_hsub_ps,
INTR_TYPE_2OP
,
X86ISD::FHSUB
, 0),
2001
X86_INTRINSIC_DATA
(sse41_blendvpd,
BLENDV
,
X86ISD::BLENDV
, 0),
2002
X86_INTRINSIC_DATA
(sse41_blendvps,
BLENDV
,
X86ISD::BLENDV
, 0),
2003
X86_INTRINSIC_DATA
(sse41_insertps,
INTR_TYPE_3OP
,
X86ISD::INSERTPS
, 0),
2004
X86_INTRINSIC_DATA
(sse41_mpsadbw,
INTR_TYPE_3OP_IMM8
,
X86ISD::MPSADBW
, 0),
2005
X86_INTRINSIC_DATA
(sse41_packusdw,
INTR_TYPE_2OP
,
X86ISD::PACKUS
, 0),
2006
X86_INTRINSIC_DATA
(sse41_pblendvb,
BLENDV
,
X86ISD::BLENDV
, 0),
2007
X86_INTRINSIC_DATA
(sse41_phminposuw,
INTR_TYPE_1OP
,
X86ISD::PHMINPOS
, 0),
2008
X86_INTRINSIC_DATA
(sse41_round_pd,
ROUNDP
,
X86ISD::VRNDSCALE
, 0),
2009
X86_INTRINSIC_DATA
(sse41_round_ps,
ROUNDP
,
X86ISD::VRNDSCALE
, 0),
2010
X86_INTRINSIC_DATA
(sse41_round_sd,
ROUNDS
,
X86ISD::VRNDSCALES
, 0),
2011
X86_INTRINSIC_DATA
(sse41_round_ss,
ROUNDS
,
X86ISD::VRNDSCALES
, 0),
2012
X86_INTRINSIC_DATA
(sse4a_extrqi,
INTR_TYPE_3OP
,
X86ISD::EXTRQI
, 0),
2013
X86_INTRINSIC_DATA
(sse4a_insertqi,
INTR_TYPE_4OP_IMM8
,
X86ISD::INSERTQI
, 0),
2014
X86_INTRINSIC_DATA
(ssse3_pabs_b,
INTR_TYPE_CAST_MMX
, 0, 0),
2015
X86_INTRINSIC_DATA
(ssse3_pabs_d,
INTR_TYPE_CAST_MMX
, 0, 0),
2016
X86_INTRINSIC_DATA
(ssse3_pabs_w,
INTR_TYPE_CAST_MMX
, 0, 0),
2017
X86_INTRINSIC_DATA
(ssse3_phadd_d,
INTR_TYPE_CAST_MMX
, 0, 0),
2018
X86_INTRINSIC_DATA
(ssse3_phadd_d_128,
INTR_TYPE_2OP
,
X86ISD::HADD
, 0),
2019
X86_INTRINSIC_DATA
(ssse3_phadd_sw,
INTR_TYPE_CAST_MMX
, 0, 0),
2020
X86_INTRINSIC_DATA
(ssse3_phadd_w,
INTR_TYPE_CAST_MMX
, 0, 0),
2021
X86_INTRINSIC_DATA
(ssse3_phadd_w_128,
INTR_TYPE_2OP
,
X86ISD::HADD
, 0),
2022
X86_INTRINSIC_DATA
(ssse3_phsub_d,
INTR_TYPE_CAST_MMX
, 0, 0),
2023
X86_INTRINSIC_DATA
(ssse3_phsub_d_128,
INTR_TYPE_2OP
,
X86ISD::HSUB
, 0),
2024
X86_INTRINSIC_DATA
(ssse3_phsub_sw,
INTR_TYPE_CAST_MMX
, 0, 0),
2025
X86_INTRINSIC_DATA
(ssse3_phsub_w,
INTR_TYPE_CAST_MMX
, 0, 0),
2026
X86_INTRINSIC_DATA
(ssse3_phsub_w_128,
INTR_TYPE_2OP
,
X86ISD::HSUB
, 0),
2027
X86_INTRINSIC_DATA
(ssse3_pmadd_ub_sw,
INTR_TYPE_CAST_MMX
, 0, 0),
2028
X86_INTRINSIC_DATA
(ssse3_pmadd_ub_sw_128,
INTR_TYPE_2OP
,
X86ISD::VPMADDUBSW
,
2029
0),
2030
X86_INTRINSIC_DATA
(ssse3_pmul_hr_sw,
INTR_TYPE_CAST_MMX
, 0, 0),
2031
X86_INTRINSIC_DATA
(ssse3_pmul_hr_sw_128,
INTR_TYPE_2OP
,
X86ISD::MULHRS
, 0),
2032
X86_INTRINSIC_DATA
(ssse3_pshuf_b,
INTR_TYPE_CAST_MMX
, 0, 0),
2033
X86_INTRINSIC_DATA
(ssse3_pshuf_b_128,
INTR_TYPE_2OP
,
X86ISD::PSHUFB
, 0),
2034
X86_INTRINSIC_DATA
(ssse3_psign_b,
INTR_TYPE_CAST_MMX
, 0, 0),
2035
X86_INTRINSIC_DATA
(ssse3_psign_d,
INTR_TYPE_CAST_MMX
, 0, 0),
2036
X86_INTRINSIC_DATA
(ssse3_psign_w,
INTR_TYPE_CAST_MMX
, 0, 0),
2037
X86_INTRINSIC_DATA
(subborrow_32,
ADX
,
X86ISD::SBB
,
X86ISD::SUB
),
2038
X86_INTRINSIC_DATA
(subborrow_64,
ADX
,
X86ISD::SBB
,
X86ISD::SUB
),
2039
X86_INTRINSIC_DATA
(tbm_bextri_u32,
BEXTRI
,
X86ISD::BEXTRI
, 0),
2040
X86_INTRINSIC_DATA
(tbm_bextri_u64,
BEXTRI
,
X86ISD::BEXTRI
, 0),
2041
X86_INTRINSIC_DATA
(vcvtps2ph_128,
INTR_TYPE_2OP
,
X86ISD::CVTPS2PH
, 0),
2042
X86_INTRINSIC_DATA
(vcvtps2ph_256,
INTR_TYPE_2OP
,
X86ISD::CVTPS2PH
, 0),
2043
2044
X86_INTRINSIC_DATA
(vgf2p8affineinvqb_128,
INTR_TYPE_3OP
,
2045
X86ISD::GF2P8AFFINEINVQB
, 0),
2046
X86_INTRINSIC_DATA
(vgf2p8affineinvqb_256,
INTR_TYPE_3OP
,
2047
X86ISD::GF2P8AFFINEINVQB
, 0),
2048
X86_INTRINSIC_DATA
(vgf2p8affineinvqb_512,
INTR_TYPE_3OP
,
2049
X86ISD::GF2P8AFFINEINVQB
, 0),
2050
X86_INTRINSIC_DATA
(vgf2p8affineqb_128,
INTR_TYPE_3OP
,
X86ISD::GF2P8AFFINEQB
,
2051
0),
2052
X86_INTRINSIC_DATA
(vgf2p8affineqb_256,
INTR_TYPE_3OP
,
X86ISD::GF2P8AFFINEQB
,
2053
0),
2054
X86_INTRINSIC_DATA
(vgf2p8affineqb_512,
INTR_TYPE_3OP
,
X86ISD::GF2P8AFFINEQB
,
2055
0),
2056
X86_INTRINSIC_DATA
(vgf2p8mulb_128,
INTR_TYPE_2OP
,
X86ISD::GF2P8MULB
, 0),
2057
X86_INTRINSIC_DATA
(vgf2p8mulb_256,
INTR_TYPE_2OP
,
X86ISD::GF2P8MULB
, 0),
2058
X86_INTRINSIC_DATA
(vgf2p8mulb_512,
INTR_TYPE_2OP
,
X86ISD::GF2P8MULB
, 0),
2059
2060
X86_INTRINSIC_DATA
(xop_vpermil2pd,
INTR_TYPE_4OP_IMM8
,
X86ISD::VPERMIL2
, 0),
2061
X86_INTRINSIC_DATA
(xop_vpermil2pd_256,
INTR_TYPE_4OP_IMM8
,
X86ISD::VPERMIL2
,
2062
0),
2063
X86_INTRINSIC_DATA
(xop_vpermil2ps,
INTR_TYPE_4OP_IMM8
,
X86ISD::VPERMIL2
, 0),
2064
X86_INTRINSIC_DATA
(xop_vpermil2ps_256,
INTR_TYPE_4OP_IMM8
,
X86ISD::VPERMIL2
,
2065
0),
2066
X86_INTRINSIC_DATA
(xop_vpperm,
INTR_TYPE_3OP
,
X86ISD::VPPERM
, 0),
2067
X86_INTRINSIC_DATA
(xop_vpshab,
INTR_TYPE_2OP
,
X86ISD::VPSHA
, 0),
2068
X86_INTRINSIC_DATA
(xop_vpshad,
INTR_TYPE_2OP
,
X86ISD::VPSHA
, 0),
2069
X86_INTRINSIC_DATA
(xop_vpshaq,
INTR_TYPE_2OP
,
X86ISD::VPSHA
, 0),
2070
X86_INTRINSIC_DATA
(xop_vpshaw,
INTR_TYPE_2OP
,
X86ISD::VPSHA
, 0),
2071
X86_INTRINSIC_DATA
(xop_vpshlb,
INTR_TYPE_2OP
,
X86ISD::VPSHL
, 0),
2072
X86_INTRINSIC_DATA
(xop_vpshld,
INTR_TYPE_2OP
,
X86ISD::VPSHL
, 0),
2073
X86_INTRINSIC_DATA
(xop_vpshlq,
INTR_TYPE_2OP
,
X86ISD::VPSHL
, 0),
2074
X86_INTRINSIC_DATA
(xop_vpshlw,
INTR_TYPE_2OP
,
X86ISD::VPSHL
, 0)};
2075
2076
/*
2077
* Retrieve data for Intrinsic without chain.
2078
* Return nullptr if intrinsic is not defined in the table.
2079
*/
2080
static
const
IntrinsicData
*
getIntrinsicWithoutChain
(
unsigned
IntNo) {
2081
const
IntrinsicData
*
Data
=
lower_bound
(
IntrinsicsWithoutChain
, IntNo);
2082
if
(
Data
!= std::end(
IntrinsicsWithoutChain
) &&
Data
->Id == IntNo)
2083
return
Data
;
2084
return
nullptr
;
2085
}
2086
2087
static
void
verifyIntrinsicTables
() {
2088
assert
(
llvm::is_sorted
(
IntrinsicsWithoutChain
) &&
2089
llvm::is_sorted
(
IntrinsicsWithChain
) &&
2090
"Intrinsic data tables should be sorted by Intrinsic ID"
);
2091
assert
((std::adjacent_find(std::begin(
IntrinsicsWithoutChain
),
2092
std::end(
IntrinsicsWithoutChain
)) ==
2093
std::end(
IntrinsicsWithoutChain
)) &&
2094
(std::adjacent_find(std::begin(
IntrinsicsWithChain
),
2095
std::end(
IntrinsicsWithChain
)) ==
2096
std::end(
IntrinsicsWithChain
)) &&
2097
"Intrinsic data tables should have unique entries"
);
2098
}
2099
}
// namespace llvm
2100
2101
#endif
assert
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
X86ISelLowering.h
X86InstrInfo.h
X86_INTRINSIC_DATA
#define X86_INTRINSIC_DATA(id, type, op0, op1)
Definition
X86IntrinsicsInfo.h:95
RHS
Value * RHS
Definition
X86PartialReduction.cpp:74
LHS
Value * LHS
Definition
X86PartialReduction.cpp:73
uint16_t
llvm::ISD::UINT_TO_FP
@ UINT_TO_FP
Definition
ISDOpcodes.h:863
llvm::ISD::FSUB
@ FSUB
Definition
ISDOpcodes.h:411
llvm::ISD::FMA
@ FMA
FMA - Perform a * b + c with no intermediate rounding step.
Definition
ISDOpcodes.h:511
llvm::ISD::SINT_TO_FP
@ SINT_TO_FP
[SU]INT_TO_FP - These operators convert integers (whose interpreted sign depends on the first letter)...
Definition
ISDOpcodes.h:862
llvm::ISD::FADD
@ FADD
Simple binary floating point operators.
Definition
ISDOpcodes.h:410
llvm::ISD::AVGCEILU
@ AVGCEILU
Definition
ISDOpcodes.h:707
llvm::ISD::MULHU
@ MULHU
MULHU/MULHS - Multiply high - Multiply two integers of type iN, producing an unsigned/signed value of...
Definition
ISDOpcodes.h:695
llvm::ISD::FMUL
@ FMUL
Definition
ISDOpcodes.h:412
llvm::ISD::MULHS
@ MULHS
Definition
ISDOpcodes.h:696
llvm::ISD::FDIV
@ FDIV
Definition
ISDOpcodes.h:413
llvm::ISD::TRUNCATE
@ TRUNCATE
TRUNCATE - Completely drop the high bits.
Definition
ISDOpcodes.h:838
llvm::ISD::SETNE
@ SETNE
Definition
ISDOpcodes.h:1716
llvm::ISD::SETGT
@ SETGT
Definition
ISDOpcodes.h:1712
llvm::ISD::SETLT
@ SETLT
Definition
ISDOpcodes.h:1714
llvm::ISD::SETGE
@ SETGE
Definition
ISDOpcodes.h:1713
llvm::ISD::SETLE
@ SETLE
Definition
ISDOpcodes.h:1715
llvm::ISD::SETEQ
@ SETEQ
Definition
ISDOpcodes.h:1711
llvm::X86ISD::MPSADBW
@ MPSADBW
Definition
X86ISelLowering.h:639
llvm::X86ISD::VMTRUNCUS
@ VMTRUNCUS
Definition
X86ISelLowering.h:349
llvm::X86ISD::VCVTBIASPH2BF8S
@ VCVTBIASPH2BF8S
Definition
X86ISelLowering.h:646
llvm::X86ISD::VFCMADDC_RND
@ VFCMADDC_RND
Definition
X86ISelLowering.h:594
llvm::X86ISD::FADDS_RND
@ FADDS_RND
Definition
X86ISelLowering.h:235
llvm::X86ISD::VPDPBUUD
@ VPDPBUUD
Definition
X86ISelLowering.h:613
llvm::X86ISD::GF2P8MULB
@ GF2P8MULB
Definition
X86ISelLowering.h:802
llvm::X86ISD::FMAX
@ FMAX
Floating point max and min.
Definition
X86ISelLowering.h:281
llvm::X86ISD::FMUL_RND
@ FMUL_RND
Definition
X86ISelLowering.h:239
llvm::X86ISD::VCVT2PH2HF8
@ VCVT2PH2HF8
Definition
X86ISelLowering.h:643
llvm::X86ISD::GF2P8AFFINEQB
@ GF2P8AFFINEQB
Definition
X86ISelLowering.h:801
llvm::X86ISD::CMPMM_SAE
@ CMPMM_SAE
Definition
X86ISelLowering.h:416
llvm::X86ISD::VPMADD52H
@ VPMADD52H
Definition
X86ISelLowering.h:566
llvm::X86ISD::CVTS2SI_RND
@ CVTS2SI_RND
Definition
X86ISelLowering.h:686
llvm::X86ISD::VFPROUND_RND
@ VFPROUND_RND
Definition
X86ISelLowering.h:363
llvm::X86ISD::BEXTRI
@ BEXTRI
Definition
X86ISelLowering.h:431
llvm::X86ISD::PACKSS
@ PACKSS
Definition
X86ISelLowering.h:461
llvm::X86ISD::CMPP
@ CMPP
Definition
X86ISelLowering.h:399
llvm::X86ISD::HADD
@ HADD
Integer horizontal add/sub.
Definition
X86ISelLowering.h:270
llvm::X86ISD::VSRL
@ VSRL
Definition
X86ISelLowering.h:377
llvm::X86ISD::VCVTBIASPH2HF8
@ VCVTBIASPH2HF8
Definition
X86ISelLowering.h:647
llvm::X86ISD::CVTP2IBS_RND
@ CVTP2IBS_RND
Definition
X86ISelLowering.h:632
llvm::X86ISD::CVTTS2UIS_SAE
@ CVTTS2UIS_SAE
Definition
X86ISelLowering.h:720
llvm::X86ISD::FDIVS
@ FDIVS
Definition
X86ISelLowering.h:243
llvm::X86ISD::VPDPBSSDS
@ VPDPBSSDS
Definition
X86ISelLowering.h:616
llvm::X86ISD::CVTP2SI_RND
@ CVTP2SI_RND
Definition
X86ISelLowering.h:681
llvm::X86ISD::VTRUNCS
@ VTRUNCS
Definition
X86ISelLowering.h:342
llvm::X86ISD::MCVTPS2PH
@ MCVTPS2PH
Definition
X86ISelLowering.h:796
llvm::X86ISD::VSRLV
@ VSRLV
Definition
X86ISelLowering.h:382
llvm::X86ISD::VMCVTBIASPH2BF8S
@ VMCVTBIASPH2BF8S
Definition
X86ISelLowering.h:654
llvm::X86ISD::VMCVTPH2HF8
@ VMCVTPH2HF8
Definition
X86ISelLowering.h:659
llvm::X86ISD::FADDS
@ FADDS
Definition
X86ISelLowering.h:234
llvm::X86ISD::CVTPS2PH
@ CVTPS2PH
Definition
X86ISelLowering.h:789
llvm::X86ISD::VFCMADDCSH_RND
@ VFCMADDCSH_RND
Definition
X86ISelLowering.h:604
llvm::X86ISD::VFCMULCSH_RND
@ VFCMULCSH_RND
Definition
X86ISelLowering.h:609
llvm::X86ISD::FSQRTS_RND
@ FSQRTS_RND
Definition
X86ISelLowering.h:251
llvm::X86ISD::RSQRT14
@ RSQRT14
Definition
X86ISelLowering.h:299
llvm::X86ISD::VPPERM
@ VPPERM
Definition
X86ISelLowering.h:547
llvm::X86ISD::BLENDV
@ BLENDV
Dynamic (non-constant condition) vector blend where only the sign bits of the condition elements are ...
Definition
X86ISelLowering.h:227
llvm::X86ISD::VFMADDCSH
@ VFMADDCSH
Definition
X86ISelLowering.h:601
llvm::X86ISD::VMINMAXS_SAE
@ VMINMAXS_SAE
Definition
X86ISelLowering.h:628
llvm::X86ISD::RCP14S
@ RCP14S
Definition
X86ISelLowering.h:302
llvm::X86ISD::ADDSUB
@ ADDSUB
Combined add and sub on an FP vector.
Definition
X86ISelLowering.h:230
llvm::X86ISD::CVTTS2SIS
@ CVTTS2SIS
Definition
X86ISelLowering.h:717
llvm::X86ISD::FMADDSUB_RND
@ FMADDSUB_RND
Definition
X86ISelLowering.h:587
llvm::X86ISD::FDIV_RND
@ FDIV_RND
Definition
X86ISelLowering.h:242
llvm::X86ISD::VGETMANTS
@ VGETMANTS
Definition
X86ISelLowering.h:261
llvm::X86ISD::VMCVTPH2BF8
@ VMCVTPH2BF8
Definition
X86ISelLowering.h:657
llvm::X86ISD::VPTERNLOG
@ VPTERNLOG
Definition
X86ISelLowering.h:502
llvm::X86ISD::SCALEFS
@ SCALEFS
Definition
X86ISelLowering.h:266
llvm::X86ISD::VFPEXT_SAE
@ VFPEXT_SAE
Definition
X86ISelLowering.h:354
llvm::X86ISD::FGETEXP
@ FGETEXP
Definition
X86ISelLowering.h:254
llvm::X86ISD::CVTP2IBS
@ CVTP2IBS
Definition
X86ISelLowering.h:630
llvm::X86ISD::MULTISHIFT
@ MULTISHIFT
Definition
X86ISelLowering.h:408
llvm::X86ISD::VMCVTBIASPH2HF8S
@ VMCVTBIASPH2HF8S
Definition
X86ISelLowering.h:656
llvm::X86ISD::UINT_TO_FP_RND
@ UINT_TO_FP_RND
Definition
X86ISelLowering.h:672
llvm::X86ISD::VFPEXT
@ VFPEXT
Definition
X86ISelLowering.h:353
llvm::X86ISD::VRNDSCALES_SAE
@ VRNDSCALES_SAE
Definition
X86ISelLowering.h:524
llvm::X86ISD::SCALAR_UINT_TO_FP
@ SCALAR_UINT_TO_FP
Definition
X86ISelLowering.h:674
llvm::X86ISD::KADD
@ KADD
Definition
X86ISelLowering.h:457
llvm::X86ISD::PHMINPOS
@ PHMINPOS
Definition
X86ISelLowering.h:406
llvm::X86ISD::DPFP16PS
@ DPFP16PS
Definition
X86ISelLowering.h:745
llvm::X86ISD::FHADD
@ FHADD
Floating point horizontal add/sub.
Definition
X86ISelLowering.h:274
llvm::X86ISD::FMAXS
@ FMAXS
Scalar intrinsic floating point max and min.
Definition
X86ISelLowering.h:289
llvm::X86ISD::VTRUNCUS
@ VTRUNCUS
Definition
X86ISelLowering.h:341
llvm::X86ISD::CVTP2SI
@ CVTP2SI
Definition
X86ISelLowering.h:679
llvm::X86ISD::CVTPH2PS_SAE
@ CVTPH2PS_SAE
Definition
X86ISelLowering.h:792
llvm::X86ISD::FMAXS_SAE
@ FMAXS_SAE
Definition
X86ISelLowering.h:246
llvm::X86ISD::SCALAR_SINT_TO_FP
@ SCALAR_SINT_TO_FP
Definition
X86ISelLowering.h:673
llvm::X86ISD::VCVTBIASPH2HF8S
@ VCVTBIASPH2HF8S
Definition
X86ISelLowering.h:648
llvm::X86ISD::FSQRT_RND
@ FSQRT_RND
Definition
X86ISelLowering.h:249
llvm::X86ISD::VMINMAX_SAE
@ VMINMAX_SAE
Definition
X86ISelLowering.h:626
llvm::X86ISD::VFPEXTS
@ VFPEXTS
Definition
X86ISelLowering.h:355
llvm::X86ISD::MCVTTP2SIS
@ MCVTTP2SIS
Definition
X86ISelLowering.h:703
llvm::X86ISD::VCVT2PH2BF8
@ VCVT2PH2BF8
Definition
X86ISelLowering.h:641
llvm::X86ISD::VFCMULC_RND
@ VFCMULC_RND
Definition
X86ISelLowering.h:599
llvm::X86ISD::PDEP
@ PDEP
Definition
X86ISelLowering.h:437
llvm::X86ISD::VRANGE_SAE
@ VRANGE_SAE
Definition
X86ISelLowering.h:510
llvm::X86ISD::SUB
@ SUB
Definition
X86ISelLowering.h:420
llvm::X86ISD::VFCMADDCSH
@ VFCMADDCSH
Definition
X86ISelLowering.h:603
llvm::X86ISD::VSHL
@ VSHL
Definition
X86ISelLowering.h:376
llvm::X86ISD::VFIXUPIMM_SAE
@ VFIXUPIMM_SAE
Definition
X86ISelLowering.h:505
llvm::X86ISD::VMFPROUND
@ VMFPROUND
Definition
X86ISelLowering.h:369
llvm::X86ISD::VFPCLASS
@ VFPCLASS
Definition
X86ISelLowering.h:526
llvm::X86ISD::MULHRS
@ MULHRS
Definition
X86ISelLowering.h:556
llvm::X86ISD::MCVTTP2SI
@ MCVTTP2SI
Definition
X86ISelLowering.h:726
llvm::X86ISD::VGETMANT
@ VGETMANT
Definition
X86ISelLowering.h:259
llvm::X86ISD::VFCMADDC
@ VFCMADDC
Definition
X86ISelLowering.h:593
llvm::X86ISD::VFIXUPIMM
@ VFIXUPIMM
Definition
X86ISelLowering.h:504
llvm::X86ISD::CVTTP2SI_SAE
@ CVTTP2SI_SAE
Definition
X86ISelLowering.h:692
llvm::X86ISD::VSRAI
@ VSRAI
Definition
X86ISelLowering.h:388
llvm::X86ISD::VCVTPH2BF8S
@ VCVTPH2BF8S
Definition
X86ISelLowering.h:650
llvm::X86ISD::CVTS2SI
@ CVTS2SI
Definition
X86ISelLowering.h:684
llvm::X86ISD::FGETEXP_SAE
@ FGETEXP_SAE
Definition
X86ISelLowering.h:255
llvm::X86ISD::FMADDSUB
@ FMADDSUB
Definition
X86ISelLowering.h:579
llvm::X86ISD::UCOMI
@ UCOMI
Definition
X86ISelLowering.h:101
llvm::X86ISD::CVTTP2IBS
@ CVTTP2IBS
Definition
X86ISelLowering.h:634
llvm::X86ISD::VMCVTPH2HF8S
@ VMCVTPH2HF8S
Definition
X86ISelLowering.h:660
llvm::X86ISD::CVTP2UI
@ CVTP2UI
Definition
X86ISelLowering.h:680
llvm::X86ISD::MOVMSK
@ MOVMSK
Definition
X86ISelLowering.h:444
llvm::X86ISD::VPDPBSUDS
@ VPDPBSUDS
Definition
X86ISelLowering.h:612
llvm::X86ISD::MCVTTP2UI
@ MCVTTP2UI
Definition
X86ISelLowering.h:727
llvm::X86ISD::SBB
@ SBB
Definition
X86ISelLowering.h:422
llvm::X86ISD::PEXT
@ PEXT
Definition
X86ISelLowering.h:438
llvm::X86ISD::FSQRTS
@ FSQRTS
Definition
X86ISelLowering.h:250
llvm::X86ISD::VFMULC
@ VFMULC
Definition
X86ISelLowering.h:596
llvm::X86ISD::VCVTBIASPH2BF8
@ VCVTBIASPH2BF8
Definition
X86ISelLowering.h:645
llvm::X86ISD::GF2P8AFFINEINVQB
@ GF2P8AFFINEINVQB
Definition
X86ISelLowering.h:800
llvm::X86ISD::VREDUCES_SAE
@ VREDUCES_SAE
Definition
X86ISelLowering.h:517
llvm::X86ISD::VRANGES
@ VRANGES
Definition
X86ISelLowering.h:511
llvm::X86ISD::VREDUCE_SAE
@ VREDUCE_SAE
Definition
X86ISelLowering.h:515
llvm::X86ISD::CVTTS2UI_SAE
@ CVTTS2UI_SAE
Definition
X86ISelLowering.h:710
llvm::X86ISD::FSETCCM
@ FSETCCM
X86 FP SETCC, similar to above, but with output as an i1 mask and and a version with SAE.
Definition
X86ISelLowering.h:128
llvm::X86ISD::XTEST
@ XTEST
Definition
X86ISelLowering.h:786
llvm::X86ISD::VPDPBSSD
@ VPDPBSSD
Definition
X86ISelLowering.h:615
llvm::X86ISD::VFMADDC
@ VFMADDC
Definition
X86ISelLowering.h:591
llvm::X86ISD::CVTP2UI_RND
@ CVTP2UI_RND
Definition
X86ISelLowering.h:682
llvm::X86ISD::VFIXUPIMMS_SAE
@ VFIXUPIMMS_SAE
Definition
X86ISelLowering.h:507
llvm::X86ISD::CVTS2UI_RND
@ CVTS2UI_RND
Definition
X86ISelLowering.h:687
llvm::X86ISD::VPDPBUSD
@ VPDPBUSD
Definition
X86ISelLowering.h:569
llvm::X86ISD::SCALEF
@ SCALEF
Definition
X86ISelLowering.h:264
llvm::X86ISD::VFPCLASSS
@ VFPCLASSS
Definition
X86ISelLowering.h:528
llvm::X86ISD::CVTTS2SIS_SAE
@ CVTTS2SIS_SAE
Definition
X86ISelLowering.h:719
llvm::X86ISD::SCALAR_UINT_TO_FP_RND
@ SCALAR_UINT_TO_FP_RND
Definition
X86ISelLowering.h:676
llvm::X86ISD::VFPEXTS_SAE
@ VFPEXTS_SAE
Definition
X86ISelLowering.h:356
llvm::X86ISD::COMI
@ COMI
Definition
X86ISelLowering.h:100
llvm::X86ISD::FDIVS_RND
@ FDIVS_RND
Definition
X86ISelLowering.h:244
llvm::X86ISD::VGETMANTS_SAE
@ VGETMANTS_SAE
Definition
X86ISelLowering.h:262
llvm::X86ISD::VCVTHF82PH
@ VCVTHF82PH
Definition
X86ISelLowering.h:661
llvm::X86ISD::VFPROUND2_RND
@ VFPROUND2_RND
Definition
X86ISelLowering.h:362
llvm::X86ISD::CVTTP2SIS
@ CVTTP2SIS
Definition
X86ISelLowering.h:697
llvm::X86ISD::ADC
@ ADC
Definition
X86ISelLowering.h:421
llvm::X86ISD::CVTTP2UIS
@ CVTTP2UIS
Definition
X86ISelLowering.h:698
llvm::X86ISD::MCVTP2UI
@ MCVTP2UI
Definition
X86ISelLowering.h:725
llvm::X86ISD::VSRA
@ VSRA
Definition
X86ISelLowering.h:378
llvm::X86ISD::VMTRUNCS
@ VMTRUNCS
Definition
X86ISelLowering.h:350
llvm::X86ISD::CVTUI2P
@ CVTUI2P
Definition
X86ISelLowering.h:714
llvm::X86ISD::CONFLICT
@ CONFLICT
Definition
X86ISelLowering.h:278
llvm::X86ISD::FMULS_RND
@ FMULS_RND
Definition
X86ISelLowering.h:241
llvm::X86ISD::FSETCC
@ FSETCC
X86 FP SETCC, implemented with CMP{cc}SS/CMP{cc}SD.
Definition
X86ISelLowering.h:124
llvm::X86ISD::VSRAV
@ VSRAV
Definition
X86ISelLowering.h:383
llvm::X86ISD::FGETEXPS
@ FGETEXPS
Definition
X86ISelLowering.h:256
llvm::X86ISD::BEXTR
@ BEXTR
Definition
X86ISelLowering.h:430
llvm::X86ISD::VPDPWUUDS
@ VPDPWUUDS
Definition
X86ISelLowering.h:623
llvm::X86ISD::CVTNEPS2BF16
@ CVTNEPS2BF16
Definition
X86ISelLowering.h:737
llvm::X86ISD::CVTTP2SIS_SAE
@ CVTTP2SIS_SAE
Definition
X86ISelLowering.h:699
llvm::X86ISD::VFMADDCSH_RND
@ VFMADDCSH_RND
Definition
X86ISelLowering.h:602
llvm::X86ISD::CVTTP2SI
@ CVTTP2SI
Definition
X86ISelLowering.h:690
llvm::X86ISD::INSERTPS
@ INSERTPS
Insert any element of a 4 x float vector into any element of a destination 4 x floatvector.
Definition
X86ISelLowering.h:198
llvm::X86ISD::VSRLI
@ VSRLI
Definition
X86ISelLowering.h:387
llvm::X86ISD::VSHLV
@ VSHLV
Definition
X86ISelLowering.h:381
llvm::X86ISD::PSHUFB
@ PSHUFB
Shuffle 16 8-bit values within a vector.
Definition
X86ISelLowering.h:209
llvm::X86ISD::VMINMAX
@ VMINMAX
Definition
X86ISelLowering.h:625
llvm::X86ISD::VPDPWSSDS
@ VPDPWSSDS
Definition
X86ISelLowering.h:572
llvm::X86ISD::VPMADDWD
@ VPMADDWD
Definition
X86ISelLowering.h:560
llvm::X86ISD::RCP14
@ RCP14
Definition
X86ISelLowering.h:301
llvm::X86ISD::VFPROUND
@ VFPROUND
Definition
X86ISelLowering.h:359
llvm::X86ISD::VPDPWSSD
@ VPDPWSSD
Definition
X86ISelLowering.h:571
llvm::X86ISD::CVTTP2UI_SAE
@ CVTTP2UI_SAE
Definition
X86ISelLowering.h:693
llvm::X86ISD::CVTPH2PS
@ CVTPH2PS
Definition
X86ISelLowering.h:791
llvm::X86ISD::FMIN_SAE
@ FMIN_SAE
Definition
X86ISelLowering.h:247
llvm::X86ISD::VFMULCSH_RND
@ VFMULCSH_RND
Definition
X86ISelLowering.h:607
llvm::X86ISD::VPDPWUUD
@ VPDPWUUD
Definition
X86ISelLowering.h:622
llvm::X86ISD::VFMULC_RND
@ VFMULC_RND
Definition
X86ISelLowering.h:597
llvm::X86ISD::SCALAR_SINT_TO_FP_RND
@ SCALAR_SINT_TO_FP_RND
Definition
X86ISelLowering.h:675
llvm::X86ISD::VPDPBSUD
@ VPDPBSUD
Definition
X86ISelLowering.h:611
llvm::X86ISD::MCVTP2SI
@ MCVTP2SI
Definition
X86ISelLowering.h:724
llvm::X86ISD::VFCMULC
@ VFCMULC
Definition
X86ISelLowering.h:598
llvm::X86ISD::FMINS_SAE
@ FMINS_SAE
Definition
X86ISelLowering.h:248
llvm::X86ISD::VPERMIL2
@ VPERMIL2
Definition
X86ISelLowering.h:549
llvm::X86ISD::EXTRQI
@ EXTRQI
SSE4A Extraction and Insertion.
Definition
X86ISelLowering.h:537
llvm::X86ISD::FSUBS
@ FSUBS
Definition
X86ISelLowering.h:237
llvm::X86ISD::SINT_TO_FP_RND
@ SINT_TO_FP_RND
Definition
X86ISelLowering.h:671
llvm::X86ISD::VCVTPH2HF8
@ VCVTPH2HF8
Definition
X86ISelLowering.h:651
llvm::X86ISD::FGETEXPS_SAE
@ FGETEXPS_SAE
Definition
X86ISelLowering.h:257
llvm::X86ISD::VRNDSCALE
@ VRNDSCALE
Definition
X86ISelLowering.h:521
llvm::X86ISD::PSADBW
@ PSADBW
Compute Sum of Absolute Differences.
Definition
X86ISelLowering.h:212
llvm::X86ISD::VPSHL
@ VPSHL
Definition
X86ISelLowering.h:542
llvm::X86ISD::FHSUB
@ FHSUB
Definition
X86ISelLowering.h:275
llvm::X86ISD::VPSHUFBITQMB
@ VPSHUFBITQMB
Definition
X86ISelLowering.h:668
llvm::X86ISD::CVTP2IUBS_RND
@ CVTP2IUBS_RND
Definition
X86ISelLowering.h:633
llvm::X86ISD::VPMADDUBSW
@ VPMADDUBSW
Definition
X86ISelLowering.h:559
llvm::X86ISD::VFCMULCSH
@ VFCMULCSH
Definition
X86ISelLowering.h:608
llvm::X86ISD::VFIXUPIMMS
@ VFIXUPIMMS
Definition
X86ISelLowering.h:506
llvm::X86ISD::VRNDSCALES
@ VRNDSCALES
Definition
X86ISelLowering.h:523
llvm::X86ISD::VPERMV
@ VPERMV
Definition
X86ISelLowering.h:495
llvm::X86ISD::VPERMV3
@ VPERMV3
Definition
X86ISelLowering.h:499
llvm::X86ISD::DPBF16PS
@ DPBF16PS
Definition
X86ISelLowering.h:744
llvm::X86ISD::VCVTPH2HF8S
@ VCVTPH2HF8S
Definition
X86ISelLowering.h:652
llvm::X86ISD::FMIN
@ FMIN
Definition
X86ISelLowering.h:282
llvm::X86ISD::VTRUNC
@ VTRUNC
Definition
X86ISelLowering.h:339
llvm::X86ISD::CMPMM
@ CMPMM
Definition
X86ISelLowering.h:414
llvm::X86ISD::VREDUCE
@ VREDUCE
Definition
X86ISelLowering.h:514
llvm::X86ISD::DBPSADBW
@ DBPSADBW
Compute Double Block Packed Sum-Absolute-Differences.
Definition
X86ISelLowering.h:214
llvm::X86ISD::VMTRUNC
@ VMTRUNC
Definition
X86ISelLowering.h:348
llvm::X86ISD::VCVTPH2BF8
@ VCVTPH2BF8
Definition
X86ISelLowering.h:649
llvm::X86ISD::VFMULCSH
@ VFMULCSH
Definition
X86ISelLowering.h:606
llvm::X86ISD::EXPAND
@ EXPAND
Definition
X86ISelLowering.h:665
llvm::X86ISD::CVTTP2UI
@ CVTTP2UI
Definition
X86ISelLowering.h:691
llvm::X86ISD::VPERMILPV
@ VPERMILPV
Definition
X86ISelLowering.h:488
llvm::X86ISD::CVTTS2UI
@ CVTTS2UI
Definition
X86ISelLowering.h:708
llvm::X86ISD::CVTP2IUBS
@ CVTP2IUBS
Definition
X86ISelLowering.h:631
llvm::X86ISD::FMULS
@ FMULS
Definition
X86ISelLowering.h:240
llvm::X86ISD::FRCP
@ FRCP
Definition
X86ISelLowering.h:296
llvm::X86ISD::VMINMAXS
@ VMINMAXS
Definition
X86ISelLowering.h:627
llvm::X86ISD::INSERTQI
@ INSERTQI
Definition
X86ISelLowering.h:538
llvm::X86ISD::CVTS2UI
@ CVTS2UI
Definition
X86ISelLowering.h:685
llvm::X86ISD::VRANGE
@ VRANGE
Definition
X86ISelLowering.h:509
llvm::X86ISD::ADD
@ ADD
Definition
X86ISelLowering.h:419
llvm::X86ISD::VCVT2PH2BF8S
@ VCVT2PH2BF8S
Definition
X86ISelLowering.h:642
llvm::X86ISD::FADD_RND
@ FADD_RND
Definition
X86ISelLowering.h:233
llvm::X86ISD::VMCVTBIASPH2BF8
@ VMCVTBIASPH2BF8
Definition
X86ISelLowering.h:653
llvm::X86ISD::FMAX_SAE
@ FMAX_SAE
Definition
X86ISelLowering.h:245
llvm::X86ISD::VFPROUND2
@ VFPROUND2
Definition
X86ISelLowering.h:361
llvm::X86ISD::VFPROUNDS_RND
@ VFPROUNDS_RND
Definition
X86ISelLowering.h:365
llvm::X86ISD::VFPROUNDS
@ VFPROUNDS
Definition
X86ISelLowering.h:364
llvm::X86ISD::VPMADD52L
@ VPMADD52L
Definition
X86ISelLowering.h:565
llvm::X86ISD::RDRAND
@ RDRAND
Definition
X86ISelLowering.h:763
llvm::X86ISD::CVTTP2UIS_SAE
@ CVTTP2UIS_SAE
Definition
X86ISelLowering.h:700
llvm::X86ISD::SCALEFS_RND
@ SCALEFS_RND
Definition
X86ISelLowering.h:267
llvm::X86ISD::VMCVTPH2BF8S
@ VMCVTPH2BF8S
Definition
X86ISelLowering.h:658
llvm::X86ISD::VFMADDC_RND
@ VFMADDC_RND
Definition
X86ISelLowering.h:592
llvm::X86ISD::VGETMANT_SAE
@ VGETMANT_SAE
Definition
X86ISelLowering.h:260
llvm::X86ISD::CVTTP2IUBS_SAE
@ CVTTP2IUBS_SAE
Definition
X86ISelLowering.h:637
llvm::X86ISD::COMPRESS
@ COMPRESS
Definition
X86ISelLowering.h:664
llvm::X86ISD::RDSEED
@ RDSEED
Definition
X86ISelLowering.h:767
llvm::X86ISD::MCVTSI2P
@ MCVTSI2P
Definition
X86ISelLowering.h:728
llvm::X86ISD::VPDPBUSDS
@ VPDPBUSDS
Definition
X86ISelLowering.h:570
llvm::X86ISD::PACKUS
@ PACKUS
Definition
X86ISelLowering.h:462
llvm::X86ISD::VPDPWUSD
@ VPDPWUSD
Definition
X86ISelLowering.h:620
llvm::X86ISD::FMADD_RND
@ FMADD_RND
Definition
X86ISelLowering.h:583
llvm::X86ISD::FMINS
@ FMINS
Definition
X86ISelLowering.h:290
llvm::X86ISD::CVTTS2UIS
@ CVTTS2UIS
Definition
X86ISelLowering.h:718
llvm::X86ISD::CVTTS2SI_SAE
@ CVTTS2SI_SAE
Definition
X86ISelLowering.h:709
llvm::X86ISD::SCALEF_RND
@ SCALEF_RND
Definition
X86ISelLowering.h:265
llvm::X86ISD::FSETCCM_SAE
@ FSETCCM_SAE
Definition
X86ISelLowering.h:129
llvm::X86ISD::VCVT2PH2HF8S
@ VCVT2PH2HF8S
Definition
X86ISelLowering.h:644
llvm::X86ISD::VREDUCES
@ VREDUCES
Definition
X86ISelLowering.h:516
llvm::X86ISD::VPSHA
@ VPSHA
Definition
X86ISelLowering.h:541
llvm::X86ISD::CVTTS2SI
@ CVTTS2SI
Definition
X86ISelLowering.h:707
llvm::X86ISD::HSUB
@ HSUB
Definition
X86ISelLowering.h:271
llvm::X86ISD::VRNDSCALE_SAE
@ VRNDSCALE_SAE
Definition
X86ISelLowering.h:522
llvm::X86ISD::BZHI
@ BZHI
Definition
X86ISelLowering.h:434
llvm::X86ISD::CVTTP2IUBS
@ CVTTP2IUBS
Definition
X86ISelLowering.h:635
llvm::X86ISD::VRANGES_SAE
@ VRANGES_SAE
Definition
X86ISelLowering.h:512
llvm::X86ISD::VPDPWUSDS
@ VPDPWUSDS
Definition
X86ISelLowering.h:621
llvm::X86ISD::VSHLI
@ VSHLI
Definition
X86ISelLowering.h:386
llvm::X86ISD::CVTSI2P
@ CVTSI2P
Definition
X86ISelLowering.h:713
llvm::X86ISD::CVTTP2IBS_SAE
@ CVTTP2IBS_SAE
Definition
X86ISelLowering.h:636
llvm::X86ISD::MCVTNEPS2BF16
@ MCVTNEPS2BF16
Definition
X86ISelLowering.h:740
llvm::X86ISD::VPDPWSUDS
@ VPDPWSUDS
Definition
X86ISelLowering.h:619
llvm::X86ISD::VPDPBUUDS
@ VPDPBUUDS
Definition
X86ISelLowering.h:614
llvm::X86ISD::FSUB_RND
@ FSUB_RND
Definition
X86ISelLowering.h:236
llvm::X86ISD::RSQRT14S
@ RSQRT14S
Definition
X86ISelLowering.h:300
llvm::X86ISD::VPDPWSUD
@ VPDPWSUD
Definition
X86ISelLowering.h:618
llvm::X86ISD::MCVTUI2P
@ MCVTUI2P
Definition
X86ISelLowering.h:729
llvm::X86ISD::FRSQRT
@ FRSQRT
Floating point reciprocal-sqrt and reciprocal approximation.
Definition
X86ISelLowering.h:295
llvm::X86ISD::FSUBS_RND
@ FSUBS_RND
Definition
X86ISelLowering.h:238
llvm::X86ISD::VMCVTBIASPH2HF8
@ VMCVTBIASPH2HF8
Definition
X86ISelLowering.h:655
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
AddressRanges.h:18
llvm::getIntrinsicWithChain
static const IntrinsicData * getIntrinsicWithChain(unsigned IntNo)
Definition
X86IntrinsicsInfo.h:347
llvm::getIntrinsicWithoutChain
static const IntrinsicData * getIntrinsicWithoutChain(unsigned IntNo)
Definition
X86IntrinsicsInfo.h:2080
llvm::is_sorted
bool is_sorted(R &&Range, Compare C)
Wrapper function around std::is_sorted to check if elements in a range R are sorted with respect to a...
Definition
STLExtras.h:1922
llvm::verifyIntrinsicTables
static void verifyIntrinsicTables()
Definition
X86IntrinsicsInfo.h:2087
llvm::Data
FunctionAddr VTableAddr uintptr_t uintptr_t Data
Definition
InstrProf.h:189
llvm::lower_bound
auto lower_bound(R &&Range, T &&Value)
Provide wrappers to std::lower_bound which take ranges instead of having to pass begin/end explicitly...
Definition
STLExtras.h:1996
llvm::IntrinsicType
IntrinsicType
Definition
X86IntrinsicsInfo.h:22
llvm::VPERM_2OP
@ VPERM_2OP
Definition
X86IntrinsicsInfo.h:58
llvm::TRUNCATE_TO_MEM_VI16
@ TRUNCATE_TO_MEM_VI16
Definition
X86IntrinsicsInfo.h:70
llvm::INTR_TYPE_SCALAR_MASK_SAE
@ INTR_TYPE_SCALAR_MASK_SAE
Definition
X86IntrinsicsInfo.h:60
llvm::INTR_TYPE_1OP_SAE
@ INTR_TYPE_1OP_SAE
Definition
X86IntrinsicsInfo.h:50
llvm::TRUNCATE_TO_MEM_VI32
@ TRUNCATE_TO_MEM_VI32
Definition
X86IntrinsicsInfo.h:71
llvm::INTR_TYPE_2OP_SAE
@ INTR_TYPE_2OP_SAE
Definition
X86IntrinsicsInfo.h:51
llvm::CVTPD2PS_MASK
@ CVTPD2PS_MASK
Definition
X86IntrinsicsInfo.h:49
llvm::TRUNCATE_TO_REG
@ TRUNCATE_TO_REG
Definition
X86IntrinsicsInfo.h:64
llvm::INTR_TYPE_1OP
@ INTR_TYPE_1OP
Definition
X86IntrinsicsInfo.h:35
llvm::COMI
@ COMI
Definition
X86IntrinsicsInfo.h:45
llvm::RDTSC
@ RDTSC
Definition
X86IntrinsicsInfo.h:30
llvm::INTR_TYPE_3OP_SCALAR_MASK_SAE
@ INTR_TYPE_3OP_SCALAR_MASK_SAE
Definition
X86IntrinsicsInfo.h:62
llvm::XGETBV
@ XGETBV
Definition
X86IntrinsicsInfo.h:32
llvm::XTEST
@ XTEST
Definition
X86IntrinsicsInfo.h:31
llvm::INTR_TYPE_3OP_MASK_SAE
@ INTR_TYPE_3OP_MASK_SAE
Definition
X86IntrinsicsInfo.h:54
llvm::GATHER_AVX2
@ GATHER_AVX2
Definition
X86IntrinsicsInfo.h:74
llvm::CFMA_OP_MASKZ
@ CFMA_OP_MASKZ
Definition
X86IntrinsicsInfo.h:41
llvm::ROUNDS
@ ROUNDS
Definition
X86IntrinsicsInfo.h:76
llvm::INTR_TYPE_2OP_MASK
@ INTR_TYPE_2OP_MASK
Definition
X86IntrinsicsInfo.h:56
llvm::CVTPD2DQ_MASK
@ CVTPD2DQ_MASK
Definition
X86IntrinsicsInfo.h:67
llvm::VSHIFT
@ VSHIFT
Definition
X86IntrinsicsInfo.h:44
llvm::COMI_RM
@ COMI_RM
Definition
X86IntrinsicsInfo.h:46
llvm::TRUNCATE_TO_MEM_VI8
@ TRUNCATE_TO_MEM_VI8
Definition
X86IntrinsicsInfo.h:69
llvm::TRUNCATE2_TO_REG
@ TRUNCATE2_TO_REG
Definition
X86IntrinsicsInfo.h:65
llvm::SCATTER
@ SCATTER
Definition
X86IntrinsicsInfo.h:25
llvm::CVTNEPS2BF16_MASK
@ CVTNEPS2BF16_MASK
Definition
X86IntrinsicsInfo.h:23
llvm::FIXUPIMM
@ FIXUPIMM
Definition
X86IntrinsicsInfo.h:72
llvm::CMP_MASK_SCALAR_CC
@ CMP_MASK_SCALAR_CC
Definition
X86IntrinsicsInfo.h:43
llvm::INTR_TYPE_1OP_MASK_SAE
@ INTR_TYPE_1OP_MASK_SAE
Definition
X86IntrinsicsInfo.h:52
llvm::CFMA_OP_MASK
@ CFMA_OP_MASK
Definition
X86IntrinsicsInfo.h:40
llvm::FIXUPIMM_MASKZ
@ FIXUPIMM_MASKZ
Definition
X86IntrinsicsInfo.h:73
llvm::INTR_TYPE_SCALAR_MASK
@ INTR_TYPE_SCALAR_MASK
Definition
X86IntrinsicsInfo.h:59
llvm::INTR_TYPE_3OP_IMM8
@ INTR_TYPE_3OP_IMM8
Definition
X86IntrinsicsInfo.h:39
llvm::BLENDV
@ BLENDV
Definition
X86IntrinsicsInfo.h:47
llvm::RDPRU
@ RDPRU
Definition
X86IntrinsicsInfo.h:77
llvm::INTR_TYPE_2OP_MASK_SAE
@ INTR_TYPE_2OP_MASK_SAE
Definition
X86IntrinsicsInfo.h:53
llvm::BEXTRI
@ BEXTRI
Definition
X86IntrinsicsInfo.h:48
llvm::RDSEED
@ RDSEED
Definition
X86IntrinsicsInfo.h:27
llvm::INTR_TYPE_3OP
@ INTR_TYPE_3OP
Definition
X86IntrinsicsInfo.h:37
llvm::GATHER
@ GATHER
Definition
X86IntrinsicsInfo.h:24
llvm::RDRAND
@ RDRAND
Definition
X86IntrinsicsInfo.h:28
llvm::CVTPS2PH_MASK
@ CVTPS2PH_MASK
Definition
X86IntrinsicsInfo.h:66
llvm::INTR_TYPE_2OP
@ INTR_TYPE_2OP
Definition
X86IntrinsicsInfo.h:36
llvm::CMP_MASK_CC
@ CMP_MASK_CC
Definition
X86IntrinsicsInfo.h:42
llvm::INTR_TYPE_SCALAR_MASK_RND
@ INTR_TYPE_SCALAR_MASK_RND
Definition
X86IntrinsicsInfo.h:61
llvm::ROUNDP
@ ROUNDP
Definition
X86IntrinsicsInfo.h:75
llvm::CVTQQ2PS_MASK
@ CVTQQ2PS_MASK
Definition
X86IntrinsicsInfo.h:68
llvm::RDPMC
@ RDPMC
Definition
X86IntrinsicsInfo.h:29
llvm::FPCLASSS
@ FPCLASSS
Definition
X86IntrinsicsInfo.h:34
llvm::INTR_TYPE_1OP_MASK
@ INTR_TYPE_1OP_MASK
Definition
X86IntrinsicsInfo.h:55
llvm::ADX
@ ADX
Definition
X86IntrinsicsInfo.h:33
llvm::COMPRESS_EXPAND_IN_REG
@ COMPRESS_EXPAND_IN_REG
Definition
X86IntrinsicsInfo.h:63
llvm::INTR_TYPE_CAST_MMX
@ INTR_TYPE_CAST_MMX
Definition
X86IntrinsicsInfo.h:78
llvm::INTR_TYPE_4OP_IMM8
@ INTR_TYPE_4OP_IMM8
Definition
X86IntrinsicsInfo.h:38
llvm::IFMA_OP
@ IFMA_OP
Definition
X86IntrinsicsInfo.h:57
llvm::PREFETCH
@ PREFETCH
Definition
X86IntrinsicsInfo.h:26
llvm::IntrinsicsWithChain
static const IntrinsicData IntrinsicsWithChain[]
Definition
X86IntrinsicsInfo.h:102
llvm::IntrinsicsWithoutChain
static const IntrinsicData IntrinsicsWithoutChain[]
Definition
X86IntrinsicsInfo.h:358
llvm::IntrinsicData
Definition
X86IntrinsicsInfo.h:81
llvm::IntrinsicData::operator==
bool operator==(const IntrinsicData &RHS) const
Definition
X86IntrinsicsInfo.h:89
llvm::IntrinsicData::operator<
friend bool operator<(const IntrinsicData &LHS, unsigned Id)
Definition
X86IntrinsicsInfo.h:90
llvm::IntrinsicData::Opc0
uint16_t Opc0
Definition
X86IntrinsicsInfo.h:85
llvm::IntrinsicData::operator<
bool operator<(const IntrinsicData &RHS) const
Definition
X86IntrinsicsInfo.h:88
llvm::IntrinsicData::Id
uint16_t Id
Definition
X86IntrinsicsInfo.h:83
llvm::IntrinsicData::Type
IntrinsicType Type
Definition
X86IntrinsicsInfo.h:84
llvm::IntrinsicData::Opc1
uint16_t Opc1
Definition
X86IntrinsicsInfo.h:86
Generated on
for LLVM by
1.14.0