@@ -14713,6 +14713,47 @@ trapping or setting ``errno``.
1471314713When specified with the fast-math-flag 'afn', the result may be approximated
1471414714using a less accurate calculation.
1471514715
14716+ '``llvm.ldexp.*``' Intrinsic
14717+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
14718+
14719+ Syntax:
14720+ """""""
14721+
14722+ This is an overloaded intrinsic. You can use ``llvm.ldexp`` on any
14723+ floating point or vector of floating point type. Not all targets support
14724+ all types however.
14725+
14726+ ::
14727+
14728+ declare float @llvm.ldexp.f32.i32(float %Val, i32 %Exp)
14729+ declare double @llvm.ldexp.f64.i32(double %Val, i32 %Exp)
14730+ declare x86_fp80 @llvm.ldexp.f80.i32(x86_fp80 %Val, i32 %Exp)
14731+ declare fp128 @llvm.ldexp.f128.i32(fp128 %Val, i32 %Exp)
14732+ declare ppc_fp128 @llvm.ldexp.ppcf128.i32(ppc_fp128 %Val, i32 %Exp)
14733+ declare <2 x float> @llvm.ldexp.v2f32.v2i32(<2 x float> %Val, <2 x i32> %Exp)
14734+
14735+ Overview:
14736+ """""""""
14737+
14738+ The '``llvm.ldexp.*``' intrinsics perform the ldexp function.
14739+
14740+ Arguments:
14741+ """"""""""
14742+
14743+ The first argument and the return value are :ref:`floating-point
14744+ <t_floating>` or :ref:`vector <t_vector>` of floating-point values of
14745+ the same type. The second argument is an integer with the same number
14746+ of elements.
14747+
14748+ Semantics:
14749+ """"""""""
14750+
14751+ This function multiplies the first argument by 2 raised to the second
14752+ argument's power. If the first argument is NaN or infinite, the same
14753+ value is returned. If the result underflows a zero with the same sign
14754+ is returned. If the result overflows, the result is an infinity with
14755+ the same sign.
14756+
1471614757'``llvm.log.*``' Intrinsic
1471714758^^^^^^^^^^^^^^^^^^^^^^^^^^
1471814759
@@ -24306,6 +24347,47 @@ This function returns the first value raised to the second power with an
2430624347unspecified sequence of rounding operations.
2430724348
2430824349
24350+ '``llvm.experimental.constrained.ldexp``' Intrinsic
24351+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24352+
24353+ Syntax:
24354+ """""""
24355+
24356+ ::
24357+
24358+ declare <type0>
24359+ @llvm.experimental.constrained.ldexp(<type0> <op1>, <type1> <op2>,
24360+ metadata <rounding mode>,
24361+ metadata <exception behavior>)
24362+
24363+ Overview:
24364+ """""""""
24365+
24366+ The '``llvm.experimental.constrained.ldexp``' performs the ldexp function.
24367+
24368+
24369+ Arguments:
24370+ """"""""""
24371+
24372+ The first argument and the return value are :ref:`floating-point
24373+ <t_floating>` or :ref:`vector <t_vector>` of floating-point values of
24374+ the same type. The second argument is an integer with the same number
24375+ of elements.
24376+
24377+
24378+ The third and fourth arguments specify the rounding mode and exception
24379+ behavior as described above.
24380+
24381+ Semantics:
24382+ """"""""""
24383+
24384+ This function multiplies the first argument by 2 raised to the second
24385+ argument's power. If the first argument is NaN or infinite, the same
24386+ value is returned. If the result underflows a zero with the same sign
24387+ is returned. If the result overflows, the result is an infinity with
24388+ the same sign.
24389+
24390+
2430924391'``llvm.experimental.constrained.sin``' Intrinsic
2431024392^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2431124393
0 commit comments