summaryrefslogtreecommitdiffstats
path: root/mlir/test/Target
diff options
context:
space:
mode:
authorNicolas Vasilache <ntv@google.com>2019-12-11 15:25:00 -0800
committerA. Unique TensorFlower <gardener@tensorflow.org>2019-12-11 15:25:34 -0800
commit9dfa84a269e245ebaff032f698a798f71da2c1b5 (patch)
tree09f1dec4230dc5be7d8ef08098fa4ec964ed5e5a /mlir/test/Target
parentb909299d205d09152776a048e8336b3e097b3785 (diff)
downloadbcm5719-llvm-9dfa84a269e245ebaff032f698a798f71da2c1b5.tar.gz
bcm5719-llvm-9dfa84a269e245ebaff032f698a798f71da2c1b5.zip
Add std.log* and llvm.intr.log* that correspond to the LLVMIR intrinsics
PiperOrigin-RevId: 285073483
Diffstat (limited to 'mlir/test/Target')
-rw-r--r--mlir/test/Target/llvmir-intrinsics.mlir33
1 files changed, 33 insertions, 0 deletions
diff --git a/mlir/test/Target/llvmir-intrinsics.mlir b/mlir/test/Target/llvmir-intrinsics.mlir
index bc08a04e8a8..2a85569546f 100644
--- a/mlir/test/Target/llvmir-intrinsics.mlir
+++ b/mlir/test/Target/llvmir-intrinsics.mlir
@@ -18,8 +18,41 @@ llvm.func @exp_test(%arg0: !llvm.float, %arg1: !llvm<"<8 x float>">) {
llvm.return
}
+// CHECK-LABEL: @log_test
+llvm.func @log_test(%arg0: !llvm.float, %arg1: !llvm<"<8 x float>">) {
+ // CHECK: call float @llvm.log.f32
+ "llvm.intr.log"(%arg0) : (!llvm.float) -> !llvm.float
+ // CHECK: call <8 x float> @llvm.log.v8f32
+ "llvm.intr.log"(%arg1) : (!llvm<"<8 x float>">) -> !llvm<"<8 x float>">
+ llvm.return
+}
+
+// CHECK-LABEL: @log10_test
+llvm.func @log10_test(%arg0: !llvm.float, %arg1: !llvm<"<8 x float>">) {
+ // CHECK: call float @llvm.log10.f32
+ "llvm.intr.log10"(%arg0) : (!llvm.float) -> !llvm.float
+ // CHECK: call <8 x float> @llvm.log10.v8f32
+ "llvm.intr.log10"(%arg1) : (!llvm<"<8 x float>">) -> !llvm<"<8 x float>">
+ llvm.return
+}
+
+// CHECK-LABEL: @log2_test
+llvm.func @log2_test(%arg0: !llvm.float, %arg1: !llvm<"<8 x float>">) {
+ // CHECK: call float @llvm.log2.f32
+ "llvm.intr.log2"(%arg0) : (!llvm.float) -> !llvm.float
+ // CHECK: call <8 x float> @llvm.log2.v8f32
+ "llvm.intr.log2"(%arg1) : (!llvm<"<8 x float>">) -> !llvm<"<8 x float>">
+ llvm.return
+}
+
// Check that intrinsics are declared with appropriate types.
// CHECK: declare float @llvm.fmuladd.f32.f32.f32(float, float, float)
// CHECK: declare <8 x float> @llvm.fmuladd.v8f32.v8f32.v8f32(<8 x float>, <8 x float>, <8 x float>) #0
// CHECK: declare float @llvm.exp.f32(float)
// CHECK: declare <8 x float> @llvm.exp.v8f32(<8 x float>) #0
+// CHECK: declare float @llvm.log.f32(float)
+// CHECK: declare <8 x float> @llvm.log.v8f32(<8 x float>) #0
+// CHECK: declare float @llvm.log10.f32(float)
+// CHECK: declare <8 x float> @llvm.log10.v8f32(<8 x float>) #0
+// CHECK: declare float @llvm.log2.f32(float)
+// CHECK: declare <8 x float> @llvm.log2.v8f32(<8 x float>) #0
OpenPOWER on IntegriCloud