diff options
| author | Nagy Mostafa <nagy.mostafa@gmail.com> | 2019-08-08 18:29:23 -0700 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-08-08 18:29:48 -0700 |
| commit | 48fdc8d7a301aff6ade00f2a5263628937b529f3 (patch) | |
| tree | 50c8aa0a928e39ecbf95393fc2d7624ec62d02d8 /mlir/test/Target | |
| parent | 96371d25c388cba4716a3d389c011b404b22c270 (diff) | |
| download | bcm5719-llvm-48fdc8d7a301aff6ade00f2a5263628937b529f3.tar.gz bcm5719-llvm-48fdc8d7a301aff6ade00f2a5263628937b529f3.zip | |
Add support for floating-point comparison 'fcmp' to the LLVM dialect.
This adds support for fcmp to the LLVM dialect and adds any necessary lowerings, as well as support for EDSCs.
Closes tensorflow/mlir#69
PiperOrigin-RevId: 262475255
Diffstat (limited to 'mlir/test/Target')
| -rw-r--r-- | mlir/test/Target/llvmir.mlir | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/mlir/test/Target/llvmir.mlir b/mlir/test/Target/llvmir.mlir index 8a77b09a217..9b6e0a83261 100644 --- a/mlir/test/Target/llvmir.mlir +++ b/mlir/test/Target/llvmir.mlir @@ -829,3 +829,36 @@ func @noreach() { // CHECK: unreachable llvm.unreachable } + +// CHECK-LABEL: define void @fcmp +func @fcmp(%arg0: !llvm.float, %arg1: !llvm.float) { + // CHECK: fcmp oeq float %0, %1 + // CHECK-NEXT: fcmp ogt float %0, %1 + // CHECK-NEXT: fcmp oge float %0, %1 + // CHECK-NEXT: fcmp olt float %0, %1 + // CHECK-NEXT: fcmp ole float %0, %1 + // CHECK-NEXT: fcmp one float %0, %1 + // CHECK-NEXT: fcmp ord float %0, %1 + // CHECK-NEXT: fcmp ueq float %0, %1 + // CHECK-NEXT: fcmp ugt float %0, %1 + // CHECK-NEXT: fcmp uge float %0, %1 + // CHECK-NEXT: fcmp ult float %0, %1 + // CHECK-NEXT: fcmp ule float %0, %1 + // CHECK-NEXT: fcmp une float %0, %1 + // CHECK-NEXT: fcmp uno float %0, %1 + %0 = llvm.fcmp "oeq" %arg0, %arg1 : !llvm.float + %1 = llvm.fcmp "ogt" %arg0, %arg1 : !llvm.float + %2 = llvm.fcmp "oge" %arg0, %arg1 : !llvm.float + %3 = llvm.fcmp "olt" %arg0, %arg1 : !llvm.float + %4 = llvm.fcmp "ole" %arg0, %arg1 : !llvm.float + %5 = llvm.fcmp "one" %arg0, %arg1 : !llvm.float + %6 = llvm.fcmp "ord" %arg0, %arg1 : !llvm.float + %7 = llvm.fcmp "ueq" %arg0, %arg1 : !llvm.float + %8 = llvm.fcmp "ugt" %arg0, %arg1 : !llvm.float + %9 = llvm.fcmp "uge" %arg0, %arg1 : !llvm.float + %10 = llvm.fcmp "ult" %arg0, %arg1 : !llvm.float + %11 = llvm.fcmp "ule" %arg0, %arg1 : !llvm.float + %12 = llvm.fcmp "une" %arg0, %arg1 : !llvm.float + %13 = llvm.fcmp "uno" %arg0, %arg1 : !llvm.float + llvm.return +} |

