diff --git a/mlir/test/Dialect/LLVMIR/roundtrip.mlir b/mlir/test/Dialect/LLVMIR/roundtrip.mlir --- a/mlir/test/Dialect/LLVMIR/roundtrip.mlir +++ b/mlir/test/Dialect/LLVMIR/roundtrip.mlir @@ -100,10 +100,8 @@ // CHECK: "llvm.intr.sin"(%arg1) : (!llvm.float) -> !llvm.float %30 = "llvm.intr.sin"(%arg1) : (!llvm.float) -> !llvm.float -// CHECK: %31 = llvm.mlir.constant(4.200000e+00 : f32) : !llvm.float -// CHECK-NEXT: %32 = "llvm.intr.pow"(%arg1, %31) : (!llvm.float, !llvm.float) -> !llvm.float - %31 = llvm.mlir.constant(4.200000e+00 : f32) : !llvm.float - %32 = "llvm.intr.pow"(%arg1, %31) : (!llvm.float, !llvm.float) -> !llvm.float +// CHECK: "llvm.intr.pow"(%arg1, %arg1) : (!llvm.float, !llvm.float) -> !llvm.float + %31 = "llvm.intr.pow"(%arg1, %arg1) : (!llvm.float, !llvm.float) -> !llvm.float // CHECK: llvm.return llvm.return diff --git a/mlir/test/Target/llvmir-intrinsics.mlir b/mlir/test/Target/llvmir-intrinsics.mlir --- a/mlir/test/Target/llvmir-intrinsics.mlir +++ b/mlir/test/Target/llvmir-intrinsics.mlir @@ -108,6 +108,15 @@ llvm.return } +// CHECK-LABEL: @pow_test +llvm.func @pow_test(%arg0: !llvm.float, %arg1: !llvm.float, %arg2: !llvm<"<8 x float>">, %arg3: !llvm<"<8 x float>">) { + // CHECK: call float @llvm.pow.f32 + "llvm.intr.pow"(%arg0, %arg1) : (!llvm.float, !llvm.float) -> !llvm.float + // CHECK: call <8 x float> @llvm.pow.v8f32 + "llvm.intr.pow"(%arg2, %arg3) : (!llvm<"<8 x float>">, !llvm<"<8 x float>">) -> !llvm<"<8 x float>"> + llvm.return +} + // CHECK-LABEL: @vector_reductions llvm.func @vector_reductions(%arg0: !llvm.float, %arg1: !llvm<"<8 x float>">, %arg2: !llvm<"<8 x i32>">) { // CHECK: call i32 @llvm.experimental.vector.reduce.add.v8i32