[all-commits] [llvm/llvm-project] 189d47: [clang] Reland Add tanf16 builtin and support for...

Farzon Lotfi via All-commits all-commits at lists.llvm.org
Mon Jun 10 17:46:47 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 189d4711915f4ce89b373f3cbcfe1f19c73becd9
      https://github.com/llvm/llvm-project/commit/189d4711915f4ce89b373f3cbcfe1f19c73becd9
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-06-10 (Mon, 10 Jun 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/X86/math-builtins.c
    M clang/test/CodeGen/constrained-math-builtins.c
    M clang/test/CodeGen/math-libcalls.c
    M clang/test/CodeGenOpenCL/builtins-f16.cl
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/ConstrainedOps.def
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/Assembler/fp-intrinsics-attr.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
    M llvm/test/CodeGen/ARM/fp-intrinsics.ll
    M llvm/test/CodeGen/PowerPC/ctrloop-constrained-fp.ll
    M llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/X86/fp-intrinsics.ll
    M llvm/test/CodeGen/X86/fp-strict-libcalls-msvc32.ll
    M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
    M llvm/test/CodeGen/X86/fp80-strict-libcalls.ll
    M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
    M llvm/test/Feature/fp-intrinsics.ll

  Log Message:
  -----------
  [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 at farzon.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list