@@ -112,11 +112,15 @@ pub fn intrinsic_operation_unsafety(tcx: TyCtxt<'_>, intrinsic_id: LocalDefId) -
112
112
| sym:: likely
113
113
| sym:: unlikely
114
114
| sym:: ptr_guaranteed_cmp
115
+ | sym:: minnumf16
115
116
| sym:: minnumf32
116
117
| sym:: minnumf64
118
+ | sym:: minnumf128
119
+ | sym:: maxnumf16
117
120
| sym:: maxnumf32
118
- | sym:: rustc_peek
119
121
| sym:: maxnumf64
122
+ | sym:: maxnumf128
123
+ | sym:: rustc_peek
120
124
| sym:: type_name
121
125
| sym:: forget
122
126
| sym:: black_box
@@ -302,50 +306,118 @@ pub fn check_intrinsic_type(
302
306
] ,
303
307
Ty :: new_unit ( tcx) ,
304
308
) ,
309
+
310
+ sym:: sqrtf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
305
311
sym:: sqrtf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
306
312
sym:: sqrtf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
313
+ sym:: sqrtf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
314
+
315
+ sym:: powif16 => ( 0 , 0 , vec ! [ tcx. types. f16, tcx. types. i32 ] , tcx. types . f16 ) ,
307
316
sym:: powif32 => ( 0 , 0 , vec ! [ tcx. types. f32 , tcx. types. i32 ] , tcx. types . f32 ) ,
308
317
sym:: powif64 => ( 0 , 0 , vec ! [ tcx. types. f64 , tcx. types. i32 ] , tcx. types . f64 ) ,
318
+ sym:: powif128 => ( 0 , 0 , vec ! [ tcx. types. f128, tcx. types. i32 ] , tcx. types . f128 ) ,
319
+
320
+ sym:: sinf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
309
321
sym:: sinf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
310
322
sym:: sinf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
323
+ sym:: sinf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
324
+
325
+ sym:: cosf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
311
326
sym:: cosf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
312
327
sym:: cosf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
328
+ sym:: cosf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
329
+
330
+ sym:: powf16 => ( 0 , 0 , vec ! [ tcx. types. f16, tcx. types. f16] , tcx. types . f16 ) ,
313
331
sym:: powf32 => ( 0 , 0 , vec ! [ tcx. types. f32 , tcx. types. f32 ] , tcx. types . f32 ) ,
314
332
sym:: powf64 => ( 0 , 0 , vec ! [ tcx. types. f64 , tcx. types. f64 ] , tcx. types . f64 ) ,
333
+ sym:: powf128 => ( 0 , 0 , vec ! [ tcx. types. f128, tcx. types. f128] , tcx. types . f128 ) ,
334
+
335
+ sym:: expf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
315
336
sym:: expf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
316
337
sym:: expf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
338
+ sym:: expf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
339
+
340
+ sym:: exp2f16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
317
341
sym:: exp2f32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
318
342
sym:: exp2f64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
343
+ sym:: exp2f128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
344
+
345
+ sym:: logf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
319
346
sym:: logf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
320
347
sym:: logf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
348
+ sym:: logf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
349
+
350
+ sym:: log10f16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
321
351
sym:: log10f32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
322
352
sym:: log10f64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
353
+ sym:: log10f128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
354
+
355
+ sym:: log2f16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
323
356
sym:: log2f32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
324
357
sym:: log2f64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
358
+ sym:: log2f128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
359
+
360
+ sym:: fmaf16 => ( 0 , 0 , vec ! [ tcx. types. f16, tcx. types. f16, tcx. types. f16] , tcx. types . f16 ) ,
325
361
sym:: fmaf32 => ( 0 , 0 , vec ! [ tcx. types. f32 , tcx. types. f32 , tcx. types. f32 ] , tcx. types . f32 ) ,
326
362
sym:: fmaf64 => ( 0 , 0 , vec ! [ tcx. types. f64 , tcx. types. f64 , tcx. types. f64 ] , tcx. types . f64 ) ,
363
+ sym:: fmaf128 => {
364
+ ( 0 , 0 , vec ! [ tcx. types. f128, tcx. types. f128, tcx. types. f128] , tcx. types . f128 )
365
+ }
366
+
367
+ sym:: fabsf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
327
368
sym:: fabsf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
328
369
sym:: fabsf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
370
+ sym:: fabsf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
371
+
372
+ sym:: minnumf16 => ( 0 , 0 , vec ! [ tcx. types. f16, tcx. types. f16] , tcx. types . f16 ) ,
329
373
sym:: minnumf32 => ( 0 , 0 , vec ! [ tcx. types. f32 , tcx. types. f32 ] , tcx. types . f32 ) ,
330
374
sym:: minnumf64 => ( 0 , 0 , vec ! [ tcx. types. f64 , tcx. types. f64 ] , tcx. types . f64 ) ,
375
+ sym:: minnumf128 => ( 0 , 0 , vec ! [ tcx. types. f128, tcx. types. f128] , tcx. types . f128 ) ,
376
+
377
+ sym:: maxnumf16 => ( 0 , 0 , vec ! [ tcx. types. f16, tcx. types. f16] , tcx. types . f16 ) ,
331
378
sym:: maxnumf32 => ( 0 , 0 , vec ! [ tcx. types. f32 , tcx. types. f32 ] , tcx. types . f32 ) ,
332
379
sym:: maxnumf64 => ( 0 , 0 , vec ! [ tcx. types. f64 , tcx. types. f64 ] , tcx. types . f64 ) ,
380
+ sym:: maxnumf128 => ( 0 , 0 , vec ! [ tcx. types. f128, tcx. types. f128] , tcx. types . f128 ) ,
381
+
382
+ sym:: copysignf16 => ( 0 , 0 , vec ! [ tcx. types. f16, tcx. types. f16] , tcx. types . f16 ) ,
333
383
sym:: copysignf32 => ( 0 , 0 , vec ! [ tcx. types. f32 , tcx. types. f32 ] , tcx. types . f32 ) ,
334
384
sym:: copysignf64 => ( 0 , 0 , vec ! [ tcx. types. f64 , tcx. types. f64 ] , tcx. types . f64 ) ,
385
+ sym:: copysignf128 => ( 0 , 0 , vec ! [ tcx. types. f128, tcx. types. f128] , tcx. types . f128 ) ,
386
+
387
+ sym:: floorf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
335
388
sym:: floorf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
336
389
sym:: floorf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
390
+ sym:: floorf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
391
+
392
+ sym:: ceilf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
337
393
sym:: ceilf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
338
394
sym:: ceilf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
395
+ sym:: ceilf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
396
+
397
+ sym:: truncf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
339
398
sym:: truncf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
340
399
sym:: truncf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
400
+ sym:: truncf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
401
+
402
+ sym:: rintf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
341
403
sym:: rintf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
342
404
sym:: rintf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
405
+ sym:: rintf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
406
+
407
+ sym:: nearbyintf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
343
408
sym:: nearbyintf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
344
409
sym:: nearbyintf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
410
+ sym:: nearbyintf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
411
+
412
+ sym:: roundf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
345
413
sym:: roundf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
346
414
sym:: roundf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
415
+ sym:: roundf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
416
+
417
+ sym:: roundevenf16 => ( 0 , 0 , vec ! [ tcx. types. f16] , tcx. types . f16 ) ,
347
418
sym:: roundevenf32 => ( 0 , 0 , vec ! [ tcx. types. f32 ] , tcx. types . f32 ) ,
348
419
sym:: roundevenf64 => ( 0 , 0 , vec ! [ tcx. types. f64 ] , tcx. types . f64 ) ,
420
+ sym:: roundevenf128 => ( 0 , 0 , vec ! [ tcx. types. f128] , tcx. types . f128 ) ,
349
421
350
422
sym:: volatile_load | sym:: unaligned_volatile_load => {
351
423
( 1 , 0 , vec ! [ Ty :: new_imm_ptr( tcx, param( 0 ) ) ] , param ( 0 ) )
0 commit comments