Add intrinsics to represent fp16 <-> fp32 conversions
authorAnton Korobeynikov <asl@math.spbu.ru>
Sun, 14 Mar 2010 18:41:50 +0000 (18:41 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Sun, 14 Mar 2010 18:41:50 +0000 (18:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98497 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Intrinsics.td

index 3a0da9cabdae1f9303d45af02f07bcdfc99d4790..c34882815479d61030f4d0700bd8068c27f67811 100644 (file)
@@ -450,6 +450,14 @@ def int_flt_rounds : Intrinsic<[llvm_i32_ty]>,
 def int_trap : Intrinsic<[llvm_void_ty]>,
                GCCBuiltin<"__builtin_trap">;
 
+// Intrisics to support half precision floating point format
+def int_convert_to_fp16   : Intrinsic<[llvm_i16_ty],
+                                      [llvm_float_ty]>,
+                            GCCBuiltin<"__gnu_f2h_ieee">;
+def int_convert_from_fp16 : Intrinsic<[llvm_float_ty],
+                                      [llvm_i16_ty]>,
+                            GCCBuiltin<"__gnu_h2f_ieee">;
+
 // These convert intrinsics are to support various conversions between
 // various types with rounding and saturation. NOTE: avoid using these
 // intrinsics as they might be removed sometime in the future and