diff options
author | Farzon Lotfi <1802579+farzonl@users.noreply.github.com> | 2024-06-10 20:46:26 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-10 20:46:26 -0400 |
commit | 189d4711915f4ce89b373f3cbcfe1f19c73becd9 (patch) | |
tree | b89650df0409ab5eef29c892bdedf009091d1100 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | 1737814e577f80917fc9a56d58f09a22665179d1 (diff) | |
download | llvm-189d4711915f4ce89b373f3cbcfe1f19c73becd9.zip llvm-189d4711915f4ce89b373f3cbcfe1f19c73becd9.tar.gz llvm-189d4711915f4ce89b373f3cbcfe1f19c73becd9.tar.bz2 |
[clang] Reland Add tanf16 builtin and support for tan constrained intrinsic (#94559)
Relanding this PR now that
https://github.com/llvm/llvm-project/pull/90503 has merged. with `FTAN`
landing in
[TargetLoweringBase.cpp:L1021](https://github.com/llvm/llvm-project/blob/main/llvm/lib/CodeGen/TargetLoweringBase.cpp#L1020C23-L1021C63
) There is now a llvm tan intrinsic 32\64\128 Expand case for all llvm
backends.
In LLVM, the `llvm.experimental.constrained.cos` and
`llvm.experimental.constrained.sin` intrinsics are used for performing
cosine and sine calculations with additional constraints on
floating-point operations. This behavior is expected for all
floating-point math intrinsics. This change adds these constraints for
the `tan` intrinsic.
- `Builtins.td` - replace TanF128 with F16F128MathTemplate
- `CGBuiltin.cpp` - map existing tan builtins to `tan` and
`constrained_tan` intrinsic
- `ConstrainedOps.def` map tan and constrained_tan to an ISDOpcode.
resolves #91421
---------
Co-authored-by: Farzon Lotfi <farzon@farzon.com>
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions