Skip to content

Commit f48f880

Browse files
committed
updated based on comments
1 parent ca0e890 commit f48f880

File tree

1 file changed

+33
-36
lines changed

1 file changed

+33
-36
lines changed
Lines changed: 33 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,38 @@
1-
// Tests comparison operations.
2-
// These tests are intended to be target agnostic: they should yield the same results
3-
// regardless of the target platform.
4-
51
// RUN: mlir-opt %s --convert-scf-to-cf --convert-cf-to-llvm --convert-vector-to-llvm \
62
// RUN: --convert-func-to-llvm --convert-arith-to-llvm | \
73
// RUN: mlir-cpu-runner -e entry -entry-point-result=void \
84
// RUN: --shared-libs=%mlir_c_runner_utils | \
95
// RUN: FileCheck %s --match-full-lines
106

11-
func.func @slt_cmpi_i1(%v1 : i1, %v2 : i1) {
12-
vector.print str "@slt_cmpi_i1\n"
7+
func.func @cmpi_slt_i1(%v1 : i1, %v2 : i1) {
8+
vector.print str "@cmpi_slt_i1\n"
139
%res = arith.cmpi slt, %v1, %v2 : i1
1410
vector.print %res : i1
1511
return
1612
}
1713

18-
func.func @sle_cmpi_i1(%v1 : i1, %v2 : i1) {
19-
vector.print str "@sle_cmpi_i1\n"
14+
func.func @cmpi_sle_i1(%v1 : i1, %v2 : i1) {
15+
vector.print str "@cmpi_sle_i1\n"
2016
%res = arith.cmpi sle, %v1, %v2 : i1
2117
vector.print %res : i1
2218
return
2319
}
2420

25-
func.func @sgt_cmpi_i1(%v1 : i1, %v2 : i1) {
26-
vector.print str "@sgt_cmpi_i1\n"
21+
func.func @cmpi_sgt_i1(%v1 : i1, %v2 : i1) {
22+
vector.print str "@cmpi_sgt_i1\n"
2723
%res = arith.cmpi sgt, %v1, %v2 : i1
2824
vector.print %res : i1
2925
return
3026
}
3127

32-
func.func @sge_cmpi_i1(%v1 : i1, %v2 : i1) {
33-
vector.print str "@sge_cmpi_i1\n"
28+
func.func @cmpi_sge_i1(%v1 : i1, %v2 : i1) {
29+
vector.print str "@cmpi_sge_i1\n"
3430
%res = arith.cmpi sge, %v1, %v2 : i1
3531
vector.print %res : i1
3632
return
3733
}
3834

39-
func.func @signed_cmpi() {
35+
func.func @cmpi_signed() {
4036
// ------------------------------------------------
4137
// Test i1
4238
// ------------------------------------------------
@@ -45,37 +41,38 @@ func.func @signed_cmpi() {
4541
%true_i1_n1 = arith.constant -1 : i1
4642

4743
// sge 0 -1, sge 0 1, should be true
44+
// since the bitvector `1` is interpreted as the int value -1 in signed comparisons
4845
// sge 0 -1 == sge 0 1 == true (1)
4946

50-
// CHECK-LABEL: @sge_cmpi_i1
47+
// CHECK-LABEL: @cmpi_sge_i1
5148
// CHECK-NEXT: 1
52-
func.call @sge_cmpi_i1(%false_i1, %true_i1_n1) : (i1, i1) -> ()
49+
func.call @cmpi_sge_i1(%false_i1, %true_i1_n1) : (i1, i1) -> ()
5350

54-
// CHECK-LABEL: @sge_cmpi_i1
51+
// CHECK-LABEL: @cmpi_sge_i1
5552
// CHECK-NEXT: 1
56-
func.call @sge_cmpi_i1(%false_i1, %true_i1) : (i1, i1) -> ()
53+
func.call @cmpi_sge_i1(%false_i1, %true_i1) : (i1, i1) -> ()
5754

5855
%false = arith.constant false
5956
%true = arith.constant true
6057

6158
// signed comparisons on i1s
6259
// slt 0 1 = false, sle 0 1 = false, sgt 0 1 = true, sge 0 1 = true
6360

64-
// CHECK-LABEL: @slt_cmpi_i1
61+
// CHECK-LABEL: @cmpi_slt_i1
6562
// CHECK-NEXT: 0
66-
func.call @slt_cmpi_i1(%false, %true) : (i1, i1) -> ()
63+
func.call @cmpi_slt_i1(%false, %true) : (i1, i1) -> ()
6764

68-
// CHECK-LABEL: @sle_cmpi_i1
65+
// CHECK-LABEL: @cmpi_sle_i1
6966
// CHECK-NEXT: 0
70-
func.call @sle_cmpi_i1(%false, %true) : (i1, i1) -> ()
67+
func.call @cmpi_sle_i1(%false, %true) : (i1, i1) -> ()
7168

72-
// CHECK-LABEL: @sgt_cmpi_i1
69+
// CHECK-LABEL: @cmpi_sgt_i1
7370
// CHECK-NEXT: 1
74-
func.call @sgt_cmpi_i1(%false, %true) : (i1, i1) -> ()
71+
func.call @cmpi_sgt_i1(%false, %true) : (i1, i1) -> ()
7572

76-
// CHECK-LABEL: @sge_cmpi_i1
73+
// CHECK-LABEL: @cmpi_sge_i1
7774
// CHECK-NEXT: 1
78-
func.call @sge_cmpi_i1(%false, %true) : (i1, i1) -> ()
75+
func.call @cmpi_sge_i1(%false, %true) : (i1, i1) -> ()
7976

8077
// check that addui_extended overflow bit is treated as -1 in comparison operations
8178
// in the case of an overflow
@@ -84,43 +81,43 @@ func.func @signed_cmpi() {
8481
%n1_i64 = arith.constant -1 : i64
8582
%sum, %overflow = arith.addui_extended %n1_i64, %n1_i64 : i64, i1
8683

87-
// CHECK-LABEL: @sge_cmpi_i1
84+
// CHECK-LABEL: @cmpi_sge_i1
8885
// CHECK-NEXT: 0
89-
func.call @sge_cmpi_i1(%overflow, %false) : (i1, i1) -> ()
86+
func.call @cmpi_sge_i1(%overflow, %false) : (i1, i1) -> ()
9087

9188
// ------------------------------------------------
92-
// Test i8, i16 etc.. TODO
89+
// TODO: Test i8, i16 etc..
9390
// ------------------------------------------------
9491
return
9592
}
9693

97-
func.func @ult_cmpi_index(%v1 : index, %v2 : index) {
98-
vector.print str "@ult_cmpi_index\n"
94+
func.func @cmpi_ult_index(%v1 : index, %v2 : index) {
95+
vector.print str "@cmpi_ult_index\n"
9996
%res = arith.cmpi ult, %v1, %v2 : index
10097
vector.print %res : i1
10198
return
10299
}
103100

104-
func.func @unsigned_cmpi() {
101+
func.func @cmpi_unsigned() {
105102
// ------------------------------------------------
106103
// Test index
107104
// ------------------------------------------------
108105
// 0 `ult` -2^63 = true
109106
%zero = arith.constant 0 : index
110107
%index_min = arith.constant -9223372036854775808 : index
111108

112-
// CHECK-LABEL: @ult_cmpi_index
109+
// CHECK-LABEL: @cmpi_ult_index
113110
// CHECK-NEXT: 1
114-
func.call @ult_cmpi_index(%zero, %index_min) : (index, index) -> ()
111+
func.call @cmpi_ult_index(%zero, %index_min) : (index, index) -> ()
115112

116113
// ------------------------------------------------
117-
// Test i1, i8, i16 etc.. TODO
114+
// TODO: i1, i8, i16, uge, ule etc..
118115
// ------------------------------------------------
119116
return
120117
}
121118

122119
func.func @entry() {
123-
func.call @signed_cmpi() : () -> ()
124-
func.call @unsigned_cmpi() : () -> ()
120+
func.call @cmpi_signed() : () -> ()
121+
func.call @cmpi_unsigned() : () -> ()
125122
return
126123
}

0 commit comments

Comments
 (0)