@@ -380,7 +380,7 @@ impl MiscMethods<'tcx> for CodegenCx<'ll, 'tcx> {
380
380
"rust_eh_personality"
381
381
} ;
382
382
let fty = self . type_variadic_func ( & [ ] , self . type_i32 ( ) ) ;
383
- self . declare_cfn ( name, fty)
383
+ self . declare_cfn ( name, llvm :: UnnamedAddr :: Global , fty)
384
384
}
385
385
} ;
386
386
attributes:: apply_target_cpu_attr ( self , llfn) ;
@@ -429,7 +429,7 @@ impl MiscMethods<'tcx> for CodegenCx<'ll, 'tcx> {
429
429
430
430
fn declare_c_main ( & self , fn_type : Self :: Type ) -> Option < Self :: Function > {
431
431
if self . get_declared_value ( "main" ) . is_none ( ) {
432
- Some ( self . declare_cfn ( "main" , fn_type) )
432
+ Some ( self . declare_cfn ( "main" , llvm :: UnnamedAddr :: Global , fn_type) )
433
433
} else {
434
434
// If the symbol already exists, it is an error: for example, the user wrote
435
435
// #[no_mangle] extern "C" fn main(..) {..}
@@ -459,8 +459,7 @@ impl CodegenCx<'b, 'tcx> {
459
459
} else {
460
460
self . type_variadic_func ( & [ ] , ret)
461
461
} ;
462
- let f = self . declare_cfn ( name, fn_ty) ;
463
- llvm:: SetUnnamedAddress ( f, llvm:: UnnamedAddr :: No ) ;
462
+ let f = self . declare_cfn ( name, llvm:: UnnamedAddr :: No , fn_ty) ;
464
463
self . intrinsics . borrow_mut ( ) . insert ( name, f) ;
465
464
f
466
465
}
@@ -498,25 +497,6 @@ impl CodegenCx<'b, 'tcx> {
498
497
let t_f32 = self . type_f32 ( ) ;
499
498
let t_f64 = self . type_f64 ( ) ;
500
499
501
- macro_rules! vector_types {
502
- ( $id_out: ident: $elem_ty: ident, $len: expr) => {
503
- let $id_out = self . type_vector( $elem_ty, $len) ;
504
- } ;
505
- ( $( $id_out: ident: $elem_ty: ident, $len: expr; ) * ) => {
506
- $( vector_types!( $id_out: $elem_ty, $len) ; ) *
507
- }
508
- }
509
- vector_types ! {
510
- t_v2f32: t_f32, 2 ;
511
- t_v4f32: t_f32, 4 ;
512
- t_v8f32: t_f32, 8 ;
513
- t_v16f32: t_f32, 16 ;
514
-
515
- t_v2f64: t_f64, 2 ;
516
- t_v4f64: t_f64, 4 ;
517
- t_v8f64: t_f64, 8 ;
518
- }
519
-
520
500
ifn ! ( "llvm.wasm.trunc.saturate.unsigned.i32.f32" , fn ( t_f32) -> t_i32) ;
521
501
ifn ! ( "llvm.wasm.trunc.saturate.unsigned.i32.f64" , fn ( t_f64) -> t_i32) ;
522
502
ifn ! ( "llvm.wasm.trunc.saturate.unsigned.i64.f32" , fn ( t_f32) -> t_i64) ;
@@ -540,149 +520,51 @@ impl CodegenCx<'b, 'tcx> {
540
520
ifn ! ( "llvm.sideeffect" , fn ( ) -> void) ;
541
521
542
522
ifn ! ( "llvm.powi.f32" , fn ( t_f32, t_i32) -> t_f32) ;
543
- ifn ! ( "llvm.powi.v2f32" , fn ( t_v2f32, t_i32) -> t_v2f32) ;
544
- ifn ! ( "llvm.powi.v4f32" , fn ( t_v4f32, t_i32) -> t_v4f32) ;
545
- ifn ! ( "llvm.powi.v8f32" , fn ( t_v8f32, t_i32) -> t_v8f32) ;
546
- ifn ! ( "llvm.powi.v16f32" , fn ( t_v16f32, t_i32) -> t_v16f32) ;
547
523
ifn ! ( "llvm.powi.f64" , fn ( t_f64, t_i32) -> t_f64) ;
548
- ifn ! ( "llvm.powi.v2f64" , fn ( t_v2f64, t_i32) -> t_v2f64) ;
549
- ifn ! ( "llvm.powi.v4f64" , fn ( t_v4f64, t_i32) -> t_v4f64) ;
550
- ifn ! ( "llvm.powi.v8f64" , fn ( t_v8f64, t_i32) -> t_v8f64) ;
551
524
552
525
ifn ! ( "llvm.pow.f32" , fn ( t_f32, t_f32) -> t_f32) ;
553
- ifn ! ( "llvm.pow.v2f32" , fn ( t_v2f32, t_v2f32) -> t_v2f32) ;
554
- ifn ! ( "llvm.pow.v4f32" , fn ( t_v4f32, t_v4f32) -> t_v4f32) ;
555
- ifn ! ( "llvm.pow.v8f32" , fn ( t_v8f32, t_v8f32) -> t_v8f32) ;
556
- ifn ! ( "llvm.pow.v16f32" , fn ( t_v16f32, t_v16f32) -> t_v16f32) ;
557
526
ifn ! ( "llvm.pow.f64" , fn ( t_f64, t_f64) -> t_f64) ;
558
- ifn ! ( "llvm.pow.v2f64" , fn ( t_v2f64, t_v2f64) -> t_v2f64) ;
559
- ifn ! ( "llvm.pow.v4f64" , fn ( t_v4f64, t_v4f64) -> t_v4f64) ;
560
- ifn ! ( "llvm.pow.v8f64" , fn ( t_v8f64, t_v8f64) -> t_v8f64) ;
561
527
562
528
ifn ! ( "llvm.sqrt.f32" , fn ( t_f32) -> t_f32) ;
563
- ifn ! ( "llvm.sqrt.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
564
- ifn ! ( "llvm.sqrt.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
565
- ifn ! ( "llvm.sqrt.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
566
- ifn ! ( "llvm.sqrt.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
567
529
ifn ! ( "llvm.sqrt.f64" , fn ( t_f64) -> t_f64) ;
568
- ifn ! ( "llvm.sqrt.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
569
- ifn ! ( "llvm.sqrt.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
570
- ifn ! ( "llvm.sqrt.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
571
530
572
531
ifn ! ( "llvm.sin.f32" , fn ( t_f32) -> t_f32) ;
573
- ifn ! ( "llvm.sin.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
574
- ifn ! ( "llvm.sin.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
575
- ifn ! ( "llvm.sin.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
576
- ifn ! ( "llvm.sin.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
577
532
ifn ! ( "llvm.sin.f64" , fn ( t_f64) -> t_f64) ;
578
- ifn ! ( "llvm.sin.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
579
- ifn ! ( "llvm.sin.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
580
- ifn ! ( "llvm.sin.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
581
533
582
534
ifn ! ( "llvm.cos.f32" , fn ( t_f32) -> t_f32) ;
583
- ifn ! ( "llvm.cos.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
584
- ifn ! ( "llvm.cos.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
585
- ifn ! ( "llvm.cos.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
586
- ifn ! ( "llvm.cos.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
587
535
ifn ! ( "llvm.cos.f64" , fn ( t_f64) -> t_f64) ;
588
- ifn ! ( "llvm.cos.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
589
- ifn ! ( "llvm.cos.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
590
- ifn ! ( "llvm.cos.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
591
536
592
537
ifn ! ( "llvm.exp.f32" , fn ( t_f32) -> t_f32) ;
593
- ifn ! ( "llvm.exp.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
594
- ifn ! ( "llvm.exp.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
595
- ifn ! ( "llvm.exp.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
596
- ifn ! ( "llvm.exp.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
597
538
ifn ! ( "llvm.exp.f64" , fn ( t_f64) -> t_f64) ;
598
- ifn ! ( "llvm.exp.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
599
- ifn ! ( "llvm.exp.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
600
- ifn ! ( "llvm.exp.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
601
539
602
540
ifn ! ( "llvm.exp2.f32" , fn ( t_f32) -> t_f32) ;
603
- ifn ! ( "llvm.exp2.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
604
- ifn ! ( "llvm.exp2.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
605
- ifn ! ( "llvm.exp2.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
606
- ifn ! ( "llvm.exp2.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
607
541
ifn ! ( "llvm.exp2.f64" , fn ( t_f64) -> t_f64) ;
608
- ifn ! ( "llvm.exp2.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
609
- ifn ! ( "llvm.exp2.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
610
- ifn ! ( "llvm.exp2.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
611
542
612
543
ifn ! ( "llvm.log.f32" , fn ( t_f32) -> t_f32) ;
613
- ifn ! ( "llvm.log.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
614
- ifn ! ( "llvm.log.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
615
- ifn ! ( "llvm.log.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
616
- ifn ! ( "llvm.log.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
617
544
ifn ! ( "llvm.log.f64" , fn ( t_f64) -> t_f64) ;
618
- ifn ! ( "llvm.log.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
619
- ifn ! ( "llvm.log.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
620
- ifn ! ( "llvm.log.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
621
545
622
546
ifn ! ( "llvm.log10.f32" , fn ( t_f32) -> t_f32) ;
623
- ifn ! ( "llvm.log10.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
624
- ifn ! ( "llvm.log10.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
625
- ifn ! ( "llvm.log10.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
626
- ifn ! ( "llvm.log10.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
627
547
ifn ! ( "llvm.log10.f64" , fn ( t_f64) -> t_f64) ;
628
- ifn ! ( "llvm.log10.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
629
- ifn ! ( "llvm.log10.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
630
- ifn ! ( "llvm.log10.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
631
548
632
549
ifn ! ( "llvm.log2.f32" , fn ( t_f32) -> t_f32) ;
633
- ifn ! ( "llvm.log2.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
634
- ifn ! ( "llvm.log2.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
635
- ifn ! ( "llvm.log2.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
636
- ifn ! ( "llvm.log2.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
637
550
ifn ! ( "llvm.log2.f64" , fn ( t_f64) -> t_f64) ;
638
- ifn ! ( "llvm.log2.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
639
- ifn ! ( "llvm.log2.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
640
- ifn ! ( "llvm.log2.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
641
551
642
552
ifn ! ( "llvm.fma.f32" , fn ( t_f32, t_f32, t_f32) -> t_f32) ;
643
- ifn ! ( "llvm.fma.v2f32" , fn ( t_v2f32, t_v2f32, t_v2f32) -> t_v2f32) ;
644
- ifn ! ( "llvm.fma.v4f32" , fn ( t_v4f32, t_v4f32, t_v4f32) -> t_v4f32) ;
645
- ifn ! ( "llvm.fma.v8f32" , fn ( t_v8f32, t_v8f32, t_v8f32) -> t_v8f32) ;
646
- ifn ! ( "llvm.fma.v16f32" , fn ( t_v16f32, t_v16f32, t_v16f32) -> t_v16f32) ;
647
553
ifn ! ( "llvm.fma.f64" , fn ( t_f64, t_f64, t_f64) -> t_f64) ;
648
- ifn ! ( "llvm.fma.v2f64" , fn ( t_v2f64, t_v2f64, t_v2f64) -> t_v2f64) ;
649
- ifn ! ( "llvm.fma.v4f64" , fn ( t_v4f64, t_v4f64, t_v4f64) -> t_v4f64) ;
650
- ifn ! ( "llvm.fma.v8f64" , fn ( t_v8f64, t_v8f64, t_v8f64) -> t_v8f64) ;
651
554
652
555
ifn ! ( "llvm.fabs.f32" , fn ( t_f32) -> t_f32) ;
653
- ifn ! ( "llvm.fabs.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
654
- ifn ! ( "llvm.fabs.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
655
- ifn ! ( "llvm.fabs.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
656
- ifn ! ( "llvm.fabs.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
657
556
ifn ! ( "llvm.fabs.f64" , fn ( t_f64) -> t_f64) ;
658
- ifn ! ( "llvm.fabs.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
659
- ifn ! ( "llvm.fabs.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
660
- ifn ! ( "llvm.fabs.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
661
557
662
558
ifn ! ( "llvm.minnum.f32" , fn ( t_f32, t_f32) -> t_f32) ;
663
559
ifn ! ( "llvm.minnum.f64" , fn ( t_f64, t_f64) -> t_f64) ;
664
560
ifn ! ( "llvm.maxnum.f32" , fn ( t_f32, t_f32) -> t_f32) ;
665
561
ifn ! ( "llvm.maxnum.f64" , fn ( t_f64, t_f64) -> t_f64) ;
666
562
667
563
ifn ! ( "llvm.floor.f32" , fn ( t_f32) -> t_f32) ;
668
- ifn ! ( "llvm.floor.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
669
- ifn ! ( "llvm.floor.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
670
- ifn ! ( "llvm.floor.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
671
- ifn ! ( "llvm.floor.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
672
564
ifn ! ( "llvm.floor.f64" , fn ( t_f64) -> t_f64) ;
673
- ifn ! ( "llvm.floor.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
674
- ifn ! ( "llvm.floor.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
675
- ifn ! ( "llvm.floor.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
676
565
677
566
ifn ! ( "llvm.ceil.f32" , fn ( t_f32) -> t_f32) ;
678
- ifn ! ( "llvm.ceil.v2f32" , fn ( t_v2f32) -> t_v2f32) ;
679
- ifn ! ( "llvm.ceil.v4f32" , fn ( t_v4f32) -> t_v4f32) ;
680
- ifn ! ( "llvm.ceil.v8f32" , fn ( t_v8f32) -> t_v8f32) ;
681
- ifn ! ( "llvm.ceil.v16f32" , fn ( t_v16f32) -> t_v16f32) ;
682
567
ifn ! ( "llvm.ceil.f64" , fn ( t_f64) -> t_f64) ;
683
- ifn ! ( "llvm.ceil.v2f64" , fn ( t_v2f64) -> t_v2f64) ;
684
- ifn ! ( "llvm.ceil.v4f64" , fn ( t_v4f64) -> t_v4f64) ;
685
- ifn ! ( "llvm.ceil.v8f64" , fn ( t_v8f64) -> t_v8f64) ;
686
568
687
569
ifn ! ( "llvm.trunc.f32" , fn ( t_f32) -> t_f32) ;
688
570
ifn ! ( "llvm.trunc.f64" , fn ( t_f64) -> t_f64) ;
0 commit comments