@@ -39,6 +39,7 @@ using CeilOpLowering = ConvertFMFMathToLLVMPattern<math::CeilOp, LLVM::FCeilOp>;
3939using CopySignOpLowering =
4040 ConvertFMFMathToLLVMPattern<math::CopySignOp, LLVM::CopySignOp>;
4141using CosOpLowering = ConvertFMFMathToLLVMPattern<math::CosOp, LLVM::CosOp>;
42+ using CoshOpLowering = ConvertFMFMathToLLVMPattern<math::CoshOp, LLVM::CoshOp>;
4243using CtPopFOpLowering =
4344 VectorConvertToLLVMPattern<math::CtPopOp, LLVM::CtPopOp>;
4445using Exp2OpLowering = ConvertFMFMathToLLVMPattern<math::Exp2Op, LLVM::Exp2Op>;
@@ -58,9 +59,12 @@ using RoundEvenOpLowering =
5859using RoundOpLowering =
5960 ConvertFMFMathToLLVMPattern<math::RoundOp, LLVM::RoundOp>;
6061using SinOpLowering = ConvertFMFMathToLLVMPattern<math::SinOp, LLVM::SinOp>;
62+ using SinhOpLowering = ConvertFMFMathToLLVMPattern<math::SinhOp, LLVM::SinhOp>;
6163using SqrtOpLowering = ConvertFMFMathToLLVMPattern<math::SqrtOp, LLVM::SqrtOp>;
6264using FTruncOpLowering =
6365 ConvertFMFMathToLLVMPattern<math::TruncOp, LLVM::FTruncOp>;
66+ using TanOpLowering = ConvertFMFMathToLLVMPattern<math::TanOp, LLVM::TanOp>;
67+ using TanhOpLowering = ConvertFMFMathToLLVMPattern<math::TanhOp, LLVM::TanhOp>;
6468
6569// A `CtLz/CtTz/absi(a)` is converted into `CtLz/CtTz/absi(a, false)`.
6670template <typename MathOp, typename LLVMOp>
@@ -310,6 +314,7 @@ void mlir::populateMathToLLVMConversionPatterns(
310314 CeilOpLowering,
311315 CopySignOpLowering,
312316 CosOpLowering,
317+ CoshOpLowering,
313318 CountLeadingZerosOpLowering,
314319 CountTrailingZerosOpLowering,
315320 CtPopFOpLowering,
@@ -327,8 +332,11 @@ void mlir::populateMathToLLVMConversionPatterns(
327332 RoundOpLowering,
328333 RsqrtOpLowering,
329334 SinOpLowering,
335+ SinhOpLowering,
330336 SqrtOpLowering,
331- FTruncOpLowering
337+ FTruncOpLowering,
338+ TanOpLowering,
339+ TanhOpLowering
332340 >(converter);
333341 // clang-format on
334342}
0 commit comments