@@ -685,8 +685,10 @@ impl<'ll> CodegenCx<'ll, '_> {
685685 let t_i64 = self . type_i64 ( ) ;
686686 let t_i128 = self . type_i128 ( ) ;
687687 let t_isize = self . type_isize ( ) ;
688+ let t_f16 = self . type_f16 ( ) ;
688689 let t_f32 = self . type_f32 ( ) ;
689690 let t_f64 = self . type_f64 ( ) ;
691+ let t_f128 = self . type_f128 ( ) ;
690692 let t_metadata = self . type_metadata ( ) ;
691693 let t_token = self . type_token ( ) ;
692694
@@ -728,69 +730,115 @@ impl<'ll> CodegenCx<'ll, '_> {
728730 ifn ! ( "llvm.debugtrap" , fn ( ) -> void) ;
729731 ifn ! ( "llvm.frameaddress" , fn ( t_i32) -> ptr) ;
730732
733+ ifn ! ( "llvm.powi.f16" , fn ( t_f16, t_i32) -> t_f16) ;
731734 ifn ! ( "llvm.powi.f32" , fn ( t_f32, t_i32) -> t_f32) ;
732735 ifn ! ( "llvm.powi.f64" , fn ( t_f64, t_i32) -> t_f64) ;
736+ ifn ! ( "llvm.powi.f128" , fn ( t_f128, t_i32) -> t_f128) ;
733737
738+ ifn ! ( "llvm.pow.f16" , fn ( t_f16, t_f16) -> t_f16) ;
734739 ifn ! ( "llvm.pow.f32" , fn ( t_f32, t_f32) -> t_f32) ;
735740 ifn ! ( "llvm.pow.f64" , fn ( t_f64, t_f64) -> t_f64) ;
741+ ifn ! ( "llvm.pow.f128" , fn ( t_f128, t_f128) -> t_f128) ;
736742
743+ ifn ! ( "llvm.sqrt.f16" , fn ( t_f16) -> t_f16) ;
737744 ifn ! ( "llvm.sqrt.f32" , fn ( t_f32) -> t_f32) ;
738745 ifn ! ( "llvm.sqrt.f64" , fn ( t_f64) -> t_f64) ;
746+ ifn ! ( "llvm.sqrt.f128" , fn ( t_f128) -> t_f128) ;
739747
748+ ifn ! ( "llvm.sin.f16" , fn ( t_f16) -> t_f16) ;
740749 ifn ! ( "llvm.sin.f32" , fn ( t_f32) -> t_f32) ;
741750 ifn ! ( "llvm.sin.f64" , fn ( t_f64) -> t_f64) ;
751+ ifn ! ( "llvm.sin.f128" , fn ( t_f128) -> t_f128) ;
742752
753+ ifn ! ( "llvm.cos.f16" , fn ( t_f16) -> t_f16) ;
743754 ifn ! ( "llvm.cos.f32" , fn ( t_f32) -> t_f32) ;
744755 ifn ! ( "llvm.cos.f64" , fn ( t_f64) -> t_f64) ;
756+ ifn ! ( "llvm.cos.f128" , fn ( t_f128) -> t_f128) ;
745757
758+ ifn ! ( "llvm.exp.f16" , fn ( t_f16) -> t_f16) ;
746759 ifn ! ( "llvm.exp.f32" , fn ( t_f32) -> t_f32) ;
747760 ifn ! ( "llvm.exp.f64" , fn ( t_f64) -> t_f64) ;
761+ ifn ! ( "llvm.exp.f128" , fn ( t_f128) -> t_f128) ;
748762
763+ ifn ! ( "llvm.exp2.f16" , fn ( t_f16) -> t_f16) ;
749764 ifn ! ( "llvm.exp2.f32" , fn ( t_f32) -> t_f32) ;
750765 ifn ! ( "llvm.exp2.f64" , fn ( t_f64) -> t_f64) ;
766+ ifn ! ( "llvm.exp2.f128" , fn ( t_f128) -> t_f128) ;
751767
768+ ifn ! ( "llvm.log.f16" , fn ( t_f16) -> t_f16) ;
752769 ifn ! ( "llvm.log.f32" , fn ( t_f32) -> t_f32) ;
753770 ifn ! ( "llvm.log.f64" , fn ( t_f64) -> t_f64) ;
771+ ifn ! ( "llvm.log.f128" , fn ( t_f128) -> t_f128) ;
754772
773+ ifn ! ( "llvm.log10.f16" , fn ( t_f16) -> t_f16) ;
755774 ifn ! ( "llvm.log10.f32" , fn ( t_f32) -> t_f32) ;
756775 ifn ! ( "llvm.log10.f64" , fn ( t_f64) -> t_f64) ;
776+ ifn ! ( "llvm.log10.f128" , fn ( t_f128) -> t_f128) ;
757777
778+ ifn ! ( "llvm.log2.f16" , fn ( t_f16) -> t_f16) ;
758779 ifn ! ( "llvm.log2.f32" , fn ( t_f32) -> t_f32) ;
759780 ifn ! ( "llvm.log2.f64" , fn ( t_f64) -> t_f64) ;
781+ ifn ! ( "llvm.log2.f128" , fn ( t_f128) -> t_f128) ;
760782
783+ ifn ! ( "llvm.fma.f16" , fn ( t_f16, t_f16, t_f16) -> t_f16) ;
761784 ifn ! ( "llvm.fma.f32" , fn ( t_f32, t_f32, t_f32) -> t_f32) ;
762785 ifn ! ( "llvm.fma.f64" , fn ( t_f64, t_f64, t_f64) -> t_f64) ;
786+ ifn ! ( "llvm.fma.f128" , fn ( t_f128, t_f128, t_f128) -> t_f128) ;
763787
788+ ifn ! ( "llvm.fabs.f16" , fn ( t_f16) -> t_f16) ;
764789 ifn ! ( "llvm.fabs.f32" , fn ( t_f32) -> t_f32) ;
765790 ifn ! ( "llvm.fabs.f64" , fn ( t_f64) -> t_f64) ;
791+ ifn ! ( "llvm.fabs.f128" , fn ( t_f128) -> t_f128) ;
766792
793+ ifn ! ( "llvm.minnum.f16" , fn ( t_f16, t_f16) -> t_f16) ;
767794 ifn ! ( "llvm.minnum.f32" , fn ( t_f32, t_f32) -> t_f32) ;
768795 ifn ! ( "llvm.minnum.f64" , fn ( t_f64, t_f64) -> t_f64) ;
796+ ifn ! ( "llvm.minnum.f128" , fn ( t_f128, t_f128) -> t_f128) ;
797+
798+ ifn ! ( "llvm.maxnum.f16" , fn ( t_f16, t_f16) -> t_f16) ;
769799 ifn ! ( "llvm.maxnum.f32" , fn ( t_f32, t_f32) -> t_f32) ;
770800 ifn ! ( "llvm.maxnum.f64" , fn ( t_f64, t_f64) -> t_f64) ;
801+ ifn ! ( "llvm.maxnum.f128" , fn ( t_f128, t_f128) -> t_f128) ;
771802
803+ ifn ! ( "llvm.floor.f16" , fn ( t_f16) -> t_f16) ;
772804 ifn ! ( "llvm.floor.f32" , fn ( t_f32) -> t_f32) ;
773805 ifn ! ( "llvm.floor.f64" , fn ( t_f64) -> t_f64) ;
806+ ifn ! ( "llvm.floor.f128" , fn ( t_f128) -> t_f128) ;
774807
808+ ifn ! ( "llvm.ceil.f16" , fn ( t_f16) -> t_f16) ;
775809 ifn ! ( "llvm.ceil.f32" , fn ( t_f32) -> t_f32) ;
776810 ifn ! ( "llvm.ceil.f64" , fn ( t_f64) -> t_f64) ;
811+ ifn ! ( "llvm.ceil.f128" , fn ( t_f128) -> t_f128) ;
777812
813+ ifn ! ( "llvm.trunc.f16" , fn ( t_f16) -> t_f16) ;
778814 ifn ! ( "llvm.trunc.f32" , fn ( t_f32) -> t_f32) ;
779815 ifn ! ( "llvm.trunc.f64" , fn ( t_f64) -> t_f64) ;
816+ ifn ! ( "llvm.trunc.f128" , fn ( t_f128) -> t_f128) ;
780817
818+ ifn ! ( "llvm.copysign.f16" , fn ( t_f16, t_f16) -> t_f16) ;
781819 ifn ! ( "llvm.copysign.f32" , fn ( t_f32, t_f32) -> t_f32) ;
782820 ifn ! ( "llvm.copysign.f64" , fn ( t_f64, t_f64) -> t_f64) ;
821+ ifn ! ( "llvm.copysign.f128" , fn ( t_f128, t_f128) -> t_f128) ;
783822
823+ ifn ! ( "llvm.round.f16" , fn ( t_f16) -> t_f16) ;
784824 ifn ! ( "llvm.round.f32" , fn ( t_f32) -> t_f32) ;
785825 ifn ! ( "llvm.round.f64" , fn ( t_f64) -> t_f64) ;
826+ ifn ! ( "llvm.round.f128" , fn ( t_f128) -> t_f128) ;
786827
828+ ifn ! ( "llvm.roundeven.f16" , fn ( t_f16) -> t_f16) ;
787829 ifn ! ( "llvm.roundeven.f32" , fn ( t_f32) -> t_f32) ;
788830 ifn ! ( "llvm.roundeven.f64" , fn ( t_f64) -> t_f64) ;
831+ ifn ! ( "llvm.roundeven.f128" , fn ( t_f128) -> t_f128) ;
789832
833+ ifn ! ( "llvm.rint.f16" , fn ( t_f16) -> t_f16) ;
790834 ifn ! ( "llvm.rint.f32" , fn ( t_f32) -> t_f32) ;
791835 ifn ! ( "llvm.rint.f64" , fn ( t_f64) -> t_f64) ;
836+ ifn ! ( "llvm.rint.f128" , fn ( t_f128) -> t_f128) ;
837+
838+ ifn ! ( "llvm.nearbyint.f16" , fn ( t_f16) -> t_f16) ;
792839 ifn ! ( "llvm.nearbyint.f32" , fn ( t_f32) -> t_f32) ;
793840 ifn ! ( "llvm.nearbyint.f64" , fn ( t_f64) -> t_f64) ;
841+ ifn ! ( "llvm.nearbyint.f128" , fn ( t_f128) -> t_f128) ;
794842
795843 ifn ! ( "llvm.ctpop.i8" , fn ( t_i8) -> t_i8) ;
796844 ifn ! ( "llvm.ctpop.i16" , fn ( t_i16) -> t_i16) ;
0 commit comments