diff options
| author | Denis Khalikov <khalikov.denis@huawei.com> | 2020-01-07 21:47:49 -0500 |
|---|---|---|
| committer | Lei Zhang <antiagainst@google.com> | 2020-01-07 21:51:51 -0500 |
| commit | dd495e8a877784df413679e5ec380985b60c0b2c (patch) | |
| tree | ece71c2332a241313d227efdb6d50041adf47c97 /mlir/test/Conversion | |
| parent | 9883b14cd1a4ea2dec8d7ed30df632671f56c69b (diff) | |
| download | bcm5719-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.mlir | 41 |
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 } |

