diff --git a/mlir/include/mlir/Dialect/StandardOps/IR/Ops.td b/mlir/include/mlir/Dialect/StandardOps/IR/Ops.td --- a/mlir/include/mlir/Dialect/StandardOps/IR/Ops.td +++ b/mlir/include/mlir/Dialect/StandardOps/IR/Ops.td @@ -492,6 +492,43 @@ let assemblyFormat = "$memref `,` $alignment attr-dict `:` type($memref)"; } +//===----------------------------------------------------------------------===// +// AtanOp +//===----------------------------------------------------------------------===// + +def AtanOp : FloatUnaryOp<"atan", []>{ + let summary = "arcus tangent of the given value"; + let description = [{ + Syntax: + + ``` + operation ::= ssa-id `=` `std.atan` ssa-use `:` type + ``` + + The `atan` operation computes the arcus tangent of a given value. It takes + one operand and returns one result of the same type. This type may be a + float scalar type, a vector whose element type is float, or a tensor of + floats. It has no standard attributes. + + Example: + + ```mlir + // Arcus tangent of scalar value. + %a = atan %b : f64 + + // SIMD vector element-wise arcus tangent. + %f = atan %g : vector<4xf32> + + // Tensor element-wise arcus tangent. + %x = atan %y : tensor<4x?xf8> + ``` + }]; +} + +//===----------------------------------------------------------------------===// +// AtomicRMWOp +//===----------------------------------------------------------------------===// + def AtomicRMWOp : Std_Op<"atomic_rmw", [ AllTypesMatch<["value", "result"]>, TypesMatchWith<"value type matches element type of memref", @@ -1354,6 +1391,10 @@ }]; } +//===----------------------------------------------------------------------===// +// SinOp +//===----------------------------------------------------------------------===// + def SinOp : FloatUnaryOp<"sin"> { let summary = "sine of the specified value"; let description = [{ @@ -1383,7 +1424,6 @@ }]; } - //===----------------------------------------------------------------------===// // DeallocOp //===----------------------------------------------------------------------===//