44define i8 @ucmp_8_8 (i8 zeroext %x , i8 zeroext %y ) nounwind {
55; CHECK-LABEL: ucmp_8_8:
66; CHECK: # %bb.0:
7- ; CHECK-NEXT: clrldi 5, 4, 32
8- ; CHECK-NEXT: clrldi 6, 3, 32
9- ; CHECK-NEXT: sub 5, 5, 6
10- ; CHECK-NEXT: cmplw 3, 4
11- ; CHECK-NEXT: li 3, -1
12- ; CHECK-NEXT: rldic 3, 3, 0, 32
13- ; CHECK-NEXT: rldicl 5, 5, 1, 63
14- ; CHECK-NEXT: isellt 3, 3, 5
7+ ; CHECK-NEXT: subc 6, 4, 3
8+ ; CHECK-NEXT: sub 5, 3, 4
9+ ; CHECK-NEXT: subfe 3, 4, 3
10+ ; CHECK-NEXT: subfe 3, 3, 5
1511; CHECK-NEXT: blr
1612 %1 = call i8 @llvm.ucmp (i8 %x , i8 %y )
1713 ret i8 %1
@@ -20,14 +16,10 @@ define i8 @ucmp_8_8(i8 zeroext %x, i8 zeroext %y) nounwind {
2016define i8 @ucmp_8_16 (i16 zeroext %x , i16 zeroext %y ) nounwind {
2117; CHECK-LABEL: ucmp_8_16:
2218; CHECK: # %bb.0:
23- ; CHECK-NEXT: clrldi 5, 4, 32
24- ; CHECK-NEXT: clrldi 6, 3, 32
25- ; CHECK-NEXT: sub 5, 5, 6
26- ; CHECK-NEXT: cmplw 3, 4
27- ; CHECK-NEXT: li 3, -1
28- ; CHECK-NEXT: rldic 3, 3, 0, 32
29- ; CHECK-NEXT: rldicl 5, 5, 1, 63
30- ; CHECK-NEXT: isellt 3, 3, 5
19+ ; CHECK-NEXT: subc 6, 4, 3
20+ ; CHECK-NEXT: sub 5, 3, 4
21+ ; CHECK-NEXT: subfe 3, 4, 3
22+ ; CHECK-NEXT: subfe 3, 3, 5
3123; CHECK-NEXT: blr
3224 %1 = call i8 @llvm.ucmp (i16 %x , i16 %y )
3325 ret i8 %1
@@ -36,14 +28,10 @@ define i8 @ucmp_8_16(i16 zeroext %x, i16 zeroext %y) nounwind {
3628define i8 @ucmp_8_32 (i32 %x , i32 %y ) nounwind {
3729; CHECK-LABEL: ucmp_8_32:
3830; CHECK: # %bb.0:
39- ; CHECK-NEXT: clrldi 5, 4, 32
40- ; CHECK-NEXT: clrldi 6, 3, 32
41- ; CHECK-NEXT: sub 5, 5, 6
42- ; CHECK-NEXT: cmplw 3, 4
43- ; CHECK-NEXT: li 3, -1
44- ; CHECK-NEXT: rldic 3, 3, 0, 32
45- ; CHECK-NEXT: rldicl 5, 5, 1, 63
46- ; CHECK-NEXT: isellt 3, 3, 5
31+ ; CHECK-NEXT: subc 6, 4, 3
32+ ; CHECK-NEXT: sub 5, 3, 4
33+ ; CHECK-NEXT: subfe 3, 4, 3
34+ ; CHECK-NEXT: subfe 3, 3, 5
4735; CHECK-NEXT: blr
4836 %1 = call i8 @llvm.ucmp (i32 %x , i32 %y )
4937 ret i8 %1
@@ -52,12 +40,10 @@ define i8 @ucmp_8_32(i32 %x, i32 %y) nounwind {
5240define i8 @ucmp_8_64 (i64 %x , i64 %y ) nounwind {
5341; CHECK-LABEL: ucmp_8_64:
5442; CHECK: # %bb.0:
55- ; CHECK-NEXT: cmpld 3, 4
56- ; CHECK-NEXT: subc 3, 4, 3
57- ; CHECK-NEXT: subfe 3, 4, 4
58- ; CHECK-NEXT: li 4, -1
59- ; CHECK-NEXT: neg 3, 3
60- ; CHECK-NEXT: isellt 3, 4, 3
43+ ; CHECK-NEXT: subc 6, 4, 3
44+ ; CHECK-NEXT: sub 5, 3, 4
45+ ; CHECK-NEXT: subfe 3, 4, 3
46+ ; CHECK-NEXT: subfe 3, 3, 5
6147; CHECK-NEXT: blr
6248 %1 = call i8 @llvm.ucmp (i64 %x , i64 %y )
6349 ret i8 %1
@@ -86,14 +72,10 @@ define i8 @ucmp_8_128(i128 %x, i128 %y) nounwind {
8672define i32 @ucmp_32_32 (i32 %x , i32 %y ) nounwind {
8773; CHECK-LABEL: ucmp_32_32:
8874; CHECK: # %bb.0:
89- ; CHECK-NEXT: clrldi 5, 4, 32
90- ; CHECK-NEXT: clrldi 6, 3, 32
91- ; CHECK-NEXT: sub 5, 5, 6
92- ; CHECK-NEXT: cmplw 3, 4
93- ; CHECK-NEXT: li 3, -1
94- ; CHECK-NEXT: rldic 3, 3, 0, 32
95- ; CHECK-NEXT: rldicl 5, 5, 1, 63
96- ; CHECK-NEXT: isellt 3, 3, 5
75+ ; CHECK-NEXT: subc 6, 4, 3
76+ ; CHECK-NEXT: sub 5, 3, 4
77+ ; CHECK-NEXT: subfe 3, 4, 3
78+ ; CHECK-NEXT: subfe 3, 3, 5
9779; CHECK-NEXT: blr
9880 %1 = call i32 @llvm.ucmp (i32 %x , i32 %y )
9981 ret i32 %1
@@ -102,12 +84,10 @@ define i32 @ucmp_32_32(i32 %x, i32 %y) nounwind {
10284define i32 @ucmp_32_64 (i64 %x , i64 %y ) nounwind {
10385; CHECK-LABEL: ucmp_32_64:
10486; CHECK: # %bb.0:
105- ; CHECK-NEXT: cmpld 3, 4
106- ; CHECK-NEXT: subc 3, 4, 3
107- ; CHECK-NEXT: subfe 3, 4, 4
108- ; CHECK-NEXT: li 4, -1
109- ; CHECK-NEXT: neg 3, 3
110- ; CHECK-NEXT: isellt 3, 4, 3
87+ ; CHECK-NEXT: subc 6, 4, 3
88+ ; CHECK-NEXT: sub 5, 3, 4
89+ ; CHECK-NEXT: subfe 3, 4, 3
90+ ; CHECK-NEXT: subfe 3, 3, 5
11191; CHECK-NEXT: blr
11292 %1 = call i32 @llvm.ucmp (i64 %x , i64 %y )
11393 ret i32 %1
@@ -116,12 +96,10 @@ define i32 @ucmp_32_64(i64 %x, i64 %y) nounwind {
11696define i64 @ucmp_64_64 (i64 %x , i64 %y ) nounwind {
11797; CHECK-LABEL: ucmp_64_64:
11898; CHECK: # %bb.0:
119- ; CHECK-NEXT: subc 5, 4, 3
120- ; CHECK-NEXT: cmpld 3, 4
121- ; CHECK-NEXT: li 3, -1
122- ; CHECK-NEXT: subfe 5, 4, 4
123- ; CHECK-NEXT: neg 5, 5
124- ; CHECK-NEXT: isellt 3, 3, 5
99+ ; CHECK-NEXT: subc 6, 4, 3
100+ ; CHECK-NEXT: sub 5, 3, 4
101+ ; CHECK-NEXT: subfe 3, 4, 3
102+ ; CHECK-NEXT: subfe 3, 3, 5
125103; CHECK-NEXT: blr
126104 %1 = call i64 @llvm.ucmp (i64 %x , i64 %y )
127105 ret i64 %1
0 commit comments