|
3 | 3 |
|
4 | 4 | define i8 @scmp_lt() {
|
5 | 5 | ; CHECK-LABEL: define i8 @scmp_lt() {
|
6 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call i8 @llvm.scmp.i8.i32(i32 -7, i32 3) |
7 |
| -; CHECK-NEXT: ret i8 [[TMP1]] |
| 6 | +; CHECK-NEXT: ret i8 -1 |
8 | 7 | ;
|
9 | 8 | %1 = call i8 @llvm.scmp(i32 -7, i32 3)
|
10 | 9 | ret i8 %1
|
11 | 10 | }
|
12 | 11 |
|
13 | 12 | define i8 @scmp_eq() {
|
14 | 13 | ; CHECK-LABEL: define i8 @scmp_eq() {
|
15 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call i8 @llvm.scmp.i8.i32(i32 2, i32 2) |
16 |
| -; CHECK-NEXT: ret i8 [[TMP1]] |
| 14 | +; CHECK-NEXT: ret i8 0 |
17 | 15 | ;
|
18 | 16 | %1 = call i8 @llvm.scmp(i32 2, i32 2)
|
19 | 17 | ret i8 %1
|
20 | 18 | }
|
21 | 19 |
|
22 | 20 | define i8 @scmp_gt() {
|
23 | 21 | ; CHECK-LABEL: define i8 @scmp_gt() {
|
24 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call i8 @llvm.scmp.i8.i32(i32 2, i32 -7) |
25 |
| -; CHECK-NEXT: ret i8 [[TMP1]] |
| 22 | +; CHECK-NEXT: ret i8 1 |
26 | 23 | ;
|
27 | 24 | %1 = call i8 @llvm.scmp(i32 2, i32 -7)
|
28 | 25 | ret i8 %1
|
29 | 26 | }
|
30 | 27 |
|
31 | 28 | define i8 @ucmp_lt() {
|
32 | 29 | ; CHECK-LABEL: define i8 @ucmp_lt() {
|
33 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call i8 @llvm.ucmp.i8.i32(i32 7, i32 12) |
34 |
| -; CHECK-NEXT: ret i8 [[TMP1]] |
| 30 | +; CHECK-NEXT: ret i8 -1 |
35 | 31 | ;
|
36 | 32 | %1 = call i8 @llvm.ucmp(i32 7, i32 12)
|
37 | 33 | ret i8 %1
|
38 | 34 | }
|
39 | 35 |
|
40 | 36 | define i2 @ucmp_eq() {
|
41 | 37 | ; CHECK-LABEL: define i2 @ucmp_eq() {
|
42 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call i2 @llvm.ucmp.i2.i32(i32 12, i32 12) |
43 |
| -; CHECK-NEXT: ret i2 [[TMP1]] |
| 38 | +; CHECK-NEXT: ret i2 0 |
44 | 39 | ;
|
45 | 40 | %1 = call i2 @llvm.ucmp(i32 12, i32 12)
|
46 | 41 | ret i2 %1
|
47 | 42 | }
|
48 | 43 |
|
49 | 44 | define i100 @ucmp_gt() {
|
50 | 45 | ; CHECK-LABEL: define i100 @ucmp_gt() {
|
51 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call i100 @llvm.ucmp.i100.i32(i32 7, i32 3) |
52 |
| -; CHECK-NEXT: ret i100 [[TMP1]] |
| 46 | +; CHECK-NEXT: ret i100 1 |
53 | 47 | ;
|
54 | 48 | %1 = call i100 @llvm.ucmp(i32 7, i32 3)
|
55 | 49 | ret i100 %1
|
56 | 50 | }
|
57 | 51 |
|
58 | 52 | define i8 @ucmp_poison() {
|
59 | 53 | ; CHECK-LABEL: define i8 @ucmp_poison() {
|
60 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call i8 @llvm.ucmp.i8.i32(i32 poison, i32 5) |
61 |
| -; CHECK-NEXT: ret i8 [[TMP1]] |
| 54 | +; CHECK-NEXT: ret i8 poison |
62 | 55 | ;
|
63 | 56 | %1 = call i8 @llvm.ucmp(i32 poison, i32 5)
|
64 | 57 | ret i8 %1
|
65 | 58 | }
|
66 | 59 |
|
67 | 60 | define i8 @scmp_undef() {
|
68 | 61 | ; CHECK-LABEL: define i8 @scmp_undef() {
|
69 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call i8 @llvm.scmp.i8.i32(i32 undef, i32 -12) |
70 |
| -; CHECK-NEXT: ret i8 [[TMP1]] |
| 62 | +; CHECK-NEXT: ret i8 0 |
71 | 63 | ;
|
72 | 64 | %1 = call i8 @llvm.scmp(i32 undef, i32 -12)
|
73 | 65 | ret i8 %1
|
74 | 66 | }
|
75 | 67 |
|
76 | 68 | define <4 x i8> @ucmp_lt_splat() {
|
77 | 69 | ; CHECK-LABEL: define <4 x i8> @ucmp_lt_splat() {
|
78 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call <4 x i8> @llvm.ucmp.v4i8.v4i32(<4 x i32> <i32 1, i32 1, i32 1, i32 1>, <4 x i32> <i32 3, i32 3, i32 3, i32 3>) |
79 |
| -; CHECK-NEXT: ret <4 x i8> [[TMP1]] |
| 70 | +; CHECK-NEXT: ret <4 x i8> <i8 -1, i8 -1, i8 -1, i8 -1> |
80 | 71 | ;
|
81 | 72 | %1 = call <4 x i8> @llvm.ucmp(<4 x i32> splat(i32 1), <4 x i32> splat(i32 3))
|
82 | 73 | ret <4 x i8> %1
|
83 | 74 | }
|
84 | 75 |
|
85 | 76 | define <4 x i8> @scmp_nonsplat() {
|
86 | 77 | ; CHECK-LABEL: define <4 x i8> @scmp_nonsplat() {
|
87 |
| -; CHECK-NEXT: [[TMP1:%.*]] = call <4 x i8> @llvm.scmp.v4i8.v4i32(<4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32> <i32 -1, i32 1, i32 -2, i32 4>) |
88 |
| -; CHECK-NEXT: ret <4 x i8> [[TMP1]] |
| 78 | +; CHECK-NEXT: ret <4 x i8> <i8 1, i8 0, i8 1, i8 -1> |
89 | 79 | ;
|
90 | 80 | %1 = call <4 x i8> @llvm.scmp(<4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32> <i32 -1, i32 1, i32 -2, i32 4>)
|
91 | 81 | ret <4 x i8> %1
|
|
0 commit comments