summaryrefslogtreecommitdiffstats
path: root/mlir/test/Conversion
diff options
context:
space:
mode:
authorDenis Khalikov <khalikov.denis@huawei.com>2020-01-07 21:47:49 -0500
committerLei Zhang <antiagainst@google.com>2020-01-07 21:51:51 -0500
commitdd495e8a877784df413679e5ec380985b60c0b2c (patch)
treeece71c2332a241313d227efdb6d50041adf47c97 /mlir/test/Conversion
parent9883b14cd1a4ea2dec8d7ed30df632671f56c69b (diff)
downloadbcm5719-llvm-dd495e8a877784df413679e5ec380985b60c0b2c.tar.gz
bcm5719-llvm-dd495e8a877784df413679e5ec380985b60c0b2c.zip
[mlir][spirv] Add lowering for std cmp ops.
Differential Revision: https://reviews.llvm.org/D72296
Diffstat (limited to 'mlir/test/Conversion')
-rw-r--r--mlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir41
1 files changed, 41 insertions, 0 deletions
diff --git a/mlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir b/mlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir
index e356c5d63f8..30b4c4a9324 100644
--- a/mlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir
+++ b/mlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir
@@ -143,6 +143,39 @@ func @shift_vector(%arg0 : vector<4xi32>, %arg1 : vector<4xi32>) {
}
//===----------------------------------------------------------------------===//
+// std.cmpf
+//===----------------------------------------------------------------------===//
+
+// CHECK-LABEL: @cmpf
+func @cmpf(%arg0 : f32, %arg1 : f32) {
+ // CHECK: spv.FOrdEqual
+ %1 = cmpf "oeq", %arg0, %arg1 : f32
+ // CHECK: spv.FOrdGreaterThan
+ %2 = cmpf "ogt", %arg0, %arg1 : f32
+ // CHECK: spv.FOrdGreaterThanEqual
+ %3 = cmpf "oge", %arg0, %arg1 : f32
+ // CHECK: spv.FOrdLessThan
+ %4 = cmpf "olt", %arg0, %arg1 : f32
+ // CHECK: spv.FOrdLessThanEqual
+ %5 = cmpf "ole", %arg0, %arg1 : f32
+ // CHECK: spv.FOrdNotEqual
+ %6 = cmpf "one", %arg0, %arg1 : f32
+ // CHECK: spv.FUnordEqual
+ %7 = cmpf "ueq", %arg0, %arg1 : f32
+ // CHECK: spv.FUnordGreaterThan
+ %8 = cmpf "ugt", %arg0, %arg1 : f32
+ // CHECK: spv.FUnordGreaterThanEqual
+ %9 = cmpf "uge", %arg0, %arg1 : f32
+ // CHECK: spv.FUnordLessThan
+ %10 = cmpf "ult", %arg0, %arg1 : f32
+ // CHECK: FUnordLessThanEqual
+ %11 = cmpf "ule", %arg0, %arg1 : f32
+ // CHECK: spv.FUnordNotEqual
+ %12 = cmpf "une", %arg0, %arg1 : f32
+ return
+}
+
+//===----------------------------------------------------------------------===//
// std.cmpi
//===----------------------------------------------------------------------===//
@@ -160,6 +193,14 @@ func @cmpi(%arg0 : i32, %arg1 : i32) {
%4 = cmpi "sgt", %arg0, %arg1 : i32
// CHECK: spv.SGreaterThanEqual
%5 = cmpi "sge", %arg0, %arg1 : i32
+ // CHECK: spv.ULessThan
+ %6 = cmpi "ult", %arg0, %arg1 : i32
+ // CHECK: spv.ULessThanEqual
+ %7 = cmpi "ule", %arg0, %arg1 : i32
+ // CHECK: spv.UGreaterThan
+ %8 = cmpi "ugt", %arg0, %arg1 : i32
+ // CHECK: spv.UGreaterThanEqual
+ %9 = cmpi "uge", %arg0, %arg1 : i32
return
}
OpenPOWER on IntegriCloud