@@ -39,6 +39,7 @@ using CeilOpLowering = ConvertFMFMathToLLVMPattern<math::CeilOp, LLVM::FCeilOp>;
39
39
using CopySignOpLowering =
40
40
ConvertFMFMathToLLVMPattern<math::CopySignOp, LLVM::CopySignOp>;
41
41
using CosOpLowering = ConvertFMFMathToLLVMPattern<math::CosOp, LLVM::CosOp>;
42
+ using CoshOpLowering = ConvertFMFMathToLLVMPattern<math::CoshOp, LLVM::CoshOp>;
42
43
using CtPopFOpLowering =
43
44
VectorConvertToLLVMPattern<math::CtPopOp, LLVM::CtPopOp>;
44
45
using Exp2OpLowering = ConvertFMFMathToLLVMPattern<math::Exp2Op, LLVM::Exp2Op>;
@@ -58,9 +59,12 @@ using RoundEvenOpLowering =
58
59
using RoundOpLowering =
59
60
ConvertFMFMathToLLVMPattern<math::RoundOp, LLVM::RoundOp>;
60
61
using SinOpLowering = ConvertFMFMathToLLVMPattern<math::SinOp, LLVM::SinOp>;
62
+ using SinhOpLowering = ConvertFMFMathToLLVMPattern<math::SinhOp, LLVM::SinhOp>;
61
63
using SqrtOpLowering = ConvertFMFMathToLLVMPattern<math::SqrtOp, LLVM::SqrtOp>;
62
64
using FTruncOpLowering =
63
65
ConvertFMFMathToLLVMPattern<math::TruncOp, LLVM::FTruncOp>;
66
+ using TanOpLowering = ConvertFMFMathToLLVMPattern<math::TanOp, LLVM::TanOp>;
67
+ using TanhOpLowering = ConvertFMFMathToLLVMPattern<math::TanhOp, LLVM::TanhOp>;
64
68
65
69
// A `CtLz/CtTz/absi(a)` is converted into `CtLz/CtTz/absi(a, false)`.
66
70
template <typename MathOp, typename LLVMOp>
@@ -310,6 +314,7 @@ void mlir::populateMathToLLVMConversionPatterns(
310
314
CeilOpLowering,
311
315
CopySignOpLowering,
312
316
CosOpLowering,
317
+ CoshOpLowering,
313
318
CountLeadingZerosOpLowering,
314
319
CountTrailingZerosOpLowering,
315
320
CtPopFOpLowering,
@@ -327,8 +332,11 @@ void mlir::populateMathToLLVMConversionPatterns(
327
332
RoundOpLowering,
328
333
RsqrtOpLowering,
329
334
SinOpLowering,
335
+ SinhOpLowering,
330
336
SqrtOpLowering,
331
- FTruncOpLowering
337
+ FTruncOpLowering,
338
+ TanOpLowering,
339
+ TanhOpLowering
332
340
>(converter);
333
341
// clang-format on
334
342
}
0 commit comments