Index: llvm/trunk/docs/LangRef.rst =================================================================== --- llvm/trunk/docs/LangRef.rst +++ llvm/trunk/docs/LangRef.rst @@ -10480,6 +10480,16 @@ type is matched against the return type, it does not require its own name suffix. +For target developers who are defining intrinsics for back-end code +generation, any intrinsic overloads based solely the distinction between +integer or floating point types should not be relied upon for correct +code generation. In such cases, the recommended approach for target +maintainers when defining intrinsics is to create separate integer and +FP intrinsics rather than rely on overloading. For example, if different +codegen is required for ``llvm.target.foo(<4 x i32>)`` and +``llvm.target.foo(<4 x float>)`` then these should be split into +different intrinsics. + To learn how to add an intrinsic function, please see the `Extending LLVM Guide `_.