@@ -104,6 +104,7 @@ pub unsafe fn _mm512_setr_epi32(
104
104
#[ inline]
105
105
#[ target_feature( enable = "avx512f" ) ]
106
106
#[ cfg_attr( test, assert_instr( vgatherdpd, scale = 1 ) ) ]
107
+ #[ rustc_args_required_const( 2 ) ]
107
108
pub unsafe fn _mm512_i32gather_pd ( offsets : __m256i , slice : * const u8 , scale : i32 ) -> __m512d {
108
109
let zero = _mm512_setzero_pd ( ) . as_f64x8 ( ) ;
109
110
let neg_one = -1 ;
@@ -114,7 +115,7 @@ pub unsafe fn _mm512_i32gather_pd(offsets: __m256i, slice: *const u8, scale: i32
114
115
vgatherdpd( zero, slice, offsets, neg_one, $imm8)
115
116
} ;
116
117
}
117
- let r = constify_imm8 ! ( scale, call) ;
118
+ let r = constify_imm8_gather ! ( scale, call) ;
118
119
transmute ( r)
119
120
}
120
121
@@ -124,6 +125,7 @@ pub unsafe fn _mm512_i32gather_pd(offsets: __m256i, slice: *const u8, scale: i32
124
125
#[ inline]
125
126
#[ target_feature( enable = "avx512f" ) ]
126
127
#[ cfg_attr( test, assert_instr( vgatherdpd, scale = 1 ) ) ]
128
+ #[ rustc_args_required_const( 4 ) ]
127
129
pub unsafe fn _mm512_mask_i32gather_pd (
128
130
src : __m512d ,
129
131
mask : __mmask8 ,
@@ -139,7 +141,7 @@ pub unsafe fn _mm512_mask_i32gather_pd(
139
141
vgatherdpd( src, slice, offsets, mask as i8 , $imm8)
140
142
} ;
141
143
}
142
- let r = constify_imm8 ! ( scale, call) ;
144
+ let r = constify_imm8_gather ! ( scale, call) ;
143
145
transmute ( r)
144
146
}
145
147
@@ -149,6 +151,7 @@ pub unsafe fn _mm512_mask_i32gather_pd(
149
151
#[ inline]
150
152
#[ target_feature( enable = "avx512f" ) ]
151
153
#[ cfg_attr( test, assert_instr( vgatherqpd, scale = 1 ) ) ]
154
+ #[ rustc_args_required_const( 2 ) ]
152
155
pub unsafe fn _mm512_i64gather_pd ( offsets : __m512i , slice : * const u8 , scale : i32 ) -> __m512d {
153
156
let zero = _mm512_setzero_pd ( ) . as_f64x8 ( ) ;
154
157
let neg_one = -1 ;
@@ -159,7 +162,7 @@ pub unsafe fn _mm512_i64gather_pd(offsets: __m512i, slice: *const u8, scale: i32
159
162
vgatherqpd( zero, slice, offsets, neg_one, $imm8)
160
163
} ;
161
164
}
162
- let r = constify_imm8 ! ( scale, call) ;
165
+ let r = constify_imm8_gather ! ( scale, call) ;
163
166
transmute ( r)
164
167
}
165
168
@@ -169,6 +172,7 @@ pub unsafe fn _mm512_i64gather_pd(offsets: __m512i, slice: *const u8, scale: i32
169
172
#[ inline]
170
173
#[ target_feature( enable = "avx512f" ) ]
171
174
#[ cfg_attr( test, assert_instr( vgatherqpd, scale = 1 ) ) ]
175
+ #[ rustc_args_required_const( 4 ) ]
172
176
pub unsafe fn _mm512_mask_i64gather_pd (
173
177
src : __m512d ,
174
178
mask : __mmask8 ,
@@ -184,7 +188,7 @@ pub unsafe fn _mm512_mask_i64gather_pd(
184
188
vgatherqpd( src, slice, offsets, mask as i8 , $imm8)
185
189
} ;
186
190
}
187
- let r = constify_imm8 ! ( scale, call) ;
191
+ let r = constify_imm8_gather ! ( scale, call) ;
188
192
transmute ( r)
189
193
}
190
194
@@ -194,6 +198,7 @@ pub unsafe fn _mm512_mask_i64gather_pd(
194
198
#[ inline]
195
199
#[ target_feature( enable = "avx512f" ) ]
196
200
#[ cfg_attr( test, assert_instr( vgatherqps, scale = 1 ) ) ]
201
+ #[ rustc_args_required_const( 2 ) ]
197
202
pub unsafe fn _mm512_i64gather_ps ( offsets : __m512i , slice : * const u8 , scale : i32 ) -> __m256 {
198
203
let zero = _mm256_setzero_ps ( ) . as_f32x8 ( ) ;
199
204
let neg_one = -1 ;
@@ -204,7 +209,7 @@ pub unsafe fn _mm512_i64gather_ps(offsets: __m512i, slice: *const u8, scale: i32
204
209
vgatherqps( zero, slice, offsets, neg_one, $imm8)
205
210
} ;
206
211
}
207
- let r = constify_imm8 ! ( scale, call) ;
212
+ let r = constify_imm8_gather ! ( scale, call) ;
208
213
transmute ( r)
209
214
}
210
215
@@ -214,6 +219,7 @@ pub unsafe fn _mm512_i64gather_ps(offsets: __m512i, slice: *const u8, scale: i32
214
219
#[ inline]
215
220
#[ target_feature( enable = "avx512f" ) ]
216
221
#[ cfg_attr( test, assert_instr( vgatherqps, scale = 1 ) ) ]
222
+ #[ rustc_args_required_const( 4 ) ]
217
223
pub unsafe fn _mm512_mask_i64gather_ps (
218
224
src : __m256 ,
219
225
mask : __mmask8 ,
@@ -229,7 +235,7 @@ pub unsafe fn _mm512_mask_i64gather_ps(
229
235
vgatherqps( src, slice, offsets, mask as i8 , $imm8)
230
236
} ;
231
237
}
232
- let r = constify_imm8 ! ( scale, call) ;
238
+ let r = constify_imm8_gather ! ( scale, call) ;
233
239
transmute ( r)
234
240
}
235
241
@@ -239,6 +245,7 @@ pub unsafe fn _mm512_mask_i64gather_ps(
239
245
#[ inline]
240
246
#[ target_feature( enable = "avx512f" ) ]
241
247
#[ cfg_attr( test, assert_instr( vpgatherdq, scale = 1 ) ) ]
248
+ #[ rustc_args_required_const( 2 ) ]
242
249
pub unsafe fn _mm512_i32gather_epi64 ( offsets : __m256i , slice : * const u8 , scale : i32 ) -> __m512i {
243
250
let zero = _mm512_setzero_si512 ( ) . as_i64x8 ( ) ;
244
251
let neg_one = -1 ;
@@ -249,7 +256,7 @@ pub unsafe fn _mm512_i32gather_epi64(offsets: __m256i, slice: *const u8, scale:
249
256
vpgatherdq( zero, slice, offsets, neg_one, $imm8)
250
257
} ;
251
258
}
252
- let r = constify_imm8 ! ( scale, call) ;
259
+ let r = constify_imm8_gather ! ( scale, call) ;
253
260
transmute ( r)
254
261
}
255
262
@@ -259,6 +266,7 @@ pub unsafe fn _mm512_i32gather_epi64(offsets: __m256i, slice: *const u8, scale:
259
266
#[ inline]
260
267
#[ target_feature( enable = "avx512f" ) ]
261
268
#[ cfg_attr( test, assert_instr( vpgatherdq, scale = 1 ) ) ]
269
+ #[ rustc_args_required_const( 4 ) ]
262
270
pub unsafe fn _mm512_mask_i32gather_epi64 (
263
271
src : __m512i ,
264
272
mask : __mmask8 ,
@@ -275,7 +283,7 @@ pub unsafe fn _mm512_mask_i32gather_epi64(
275
283
vpgatherdq( src, slice, offsets, mask, $imm8)
276
284
} ;
277
285
}
278
- let r = constify_imm8 ! ( scale, call) ;
286
+ let r = constify_imm8_gather ! ( scale, call) ;
279
287
transmute ( r)
280
288
}
281
289
@@ -285,6 +293,7 @@ pub unsafe fn _mm512_mask_i32gather_epi64(
285
293
#[ inline]
286
294
#[ target_feature( enable = "avx512f" ) ]
287
295
#[ cfg_attr( test, assert_instr( vpgatherqq, scale = 1 ) ) ]
296
+ #[ rustc_args_required_const( 2 ) ]
288
297
pub unsafe fn _mm512_i64gather_epi64 ( offsets : __m512i , slice : * const u8 , scale : i32 ) -> __m512i {
289
298
let zero = _mm512_setzero_si512 ( ) . as_i64x8 ( ) ;
290
299
let neg_one = -1 ;
@@ -295,7 +304,7 @@ pub unsafe fn _mm512_i64gather_epi64(offsets: __m512i, slice: *const u8, scale:
295
304
vpgatherqq( zero, slice, offsets, neg_one, $imm8)
296
305
} ;
297
306
}
298
- let r = constify_imm8 ! ( scale, call) ;
307
+ let r = constify_imm8_gather ! ( scale, call) ;
299
308
transmute ( r)
300
309
}
301
310
@@ -305,6 +314,7 @@ pub unsafe fn _mm512_i64gather_epi64(offsets: __m512i, slice: *const u8, scale:
305
314
#[ inline]
306
315
#[ target_feature( enable = "avx512f" ) ]
307
316
#[ cfg_attr( test, assert_instr( vpgatherqq, scale = 1 ) ) ]
317
+ #[ rustc_args_required_const( 4 ) ]
308
318
pub unsafe fn _mm512_mask_i64gather_epi64 (
309
319
src : __m512i ,
310
320
mask : __mmask8 ,
@@ -321,7 +331,7 @@ pub unsafe fn _mm512_mask_i64gather_epi64(
321
331
vpgatherqq( src, slice, offsets, mask, $imm8)
322
332
} ;
323
333
}
324
- let r = constify_imm8 ! ( scale, call) ;
334
+ let r = constify_imm8_gather ! ( scale, call) ;
325
335
transmute ( r)
326
336
}
327
337
@@ -331,6 +341,7 @@ pub unsafe fn _mm512_mask_i64gather_epi64(
331
341
#[ inline]
332
342
#[ target_feature( enable = "avx512f" ) ]
333
343
#[ cfg_attr( test, assert_instr( vpgatherqd, scale = 1 ) ) ]
344
+ #[ rustc_args_required_const( 2 ) ]
334
345
pub unsafe fn _mm512_i64gather_epi32 ( offsets : __m512i , slice : * const u8 , scale : i32 ) -> __m256i {
335
346
let zeros = _mm256_setzero_si256 ( ) . as_i32x8 ( ) ;
336
347
let neg_one = -1 ;
@@ -341,7 +352,7 @@ pub unsafe fn _mm512_i64gather_epi32(offsets: __m512i, slice: *const u8, scale:
341
352
vpgatherqd( zeros, slice, offsets, neg_one, $imm8)
342
353
} ;
343
354
}
344
- let r = constify_imm8 ! ( scale, call) ;
355
+ let r = constify_imm8_gather ! ( scale, call) ;
345
356
transmute ( r)
346
357
}
347
358
@@ -351,6 +362,7 @@ pub unsafe fn _mm512_i64gather_epi32(offsets: __m512i, slice: *const u8, scale:
351
362
#[ inline]
352
363
#[ target_feature( enable = "avx512f" ) ]
353
364
#[ cfg_attr( test, assert_instr( vpgatherqd, scale = 1 ) ) ]
365
+ #[ rustc_args_required_const( 4 ) ]
354
366
pub unsafe fn _mm512_mask_i64gather_epi32 (
355
367
src : __m256i ,
356
368
mask : __mmask8 ,
@@ -367,7 +379,7 @@ pub unsafe fn _mm512_mask_i64gather_epi32(
367
379
vpgatherqd( src, slice, offsets, mask, $imm8)
368
380
} ;
369
381
}
370
- let r = constify_imm8 ! ( scale, call) ;
382
+ let r = constify_imm8_gather ! ( scale, call) ;
371
383
transmute ( r)
372
384
}
373
385
0 commit comments