diff options
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/memcmp.ll')
-rw-r--r-- | llvm/test/CodeGen/PowerPC/memcmp.ll | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/llvm/test/CodeGen/PowerPC/memcmp.ll b/llvm/test/CodeGen/PowerPC/memcmp.ll index 0634534..39f9269 100644 --- a/llvm/test/CodeGen/PowerPC/memcmp.ll +++ b/llvm/test/CodeGen/PowerPC/memcmp.ll @@ -6,13 +6,12 @@ define signext i32 @memcmp8(ptr nocapture readonly %buffer1, ptr nocapture reado ; CHECK: # %bb.0: ; CHECK-NEXT: ldbrx 3, 0, 3 ; CHECK-NEXT: ldbrx 4, 0, 4 -; CHECK-NEXT: subc 5, 4, 3 -; CHECK-NEXT: subfe 5, 4, 4 -; CHECK-NEXT: subc 4, 3, 4 -; CHECK-NEXT: subfe 3, 3, 3 -; CHECK-NEXT: neg 5, 5 +; CHECK-NEXT: cmpld 3, 4 +; CHECK-NEXT: subc 3, 4, 3 +; CHECK-NEXT: subfe 3, 4, 4 +; CHECK-NEXT: li 4, -1 ; CHECK-NEXT: neg 3, 3 -; CHECK-NEXT: sub 3, 5, 3 +; CHECK-NEXT: isellt 3, 4, 3 ; CHECK-NEXT: extsw 3, 3 ; CHECK-NEXT: blr %call = tail call signext i32 @memcmp(ptr %buffer1, ptr %buffer2, i64 8) @@ -24,12 +23,11 @@ define signext i32 @memcmp4(ptr nocapture readonly %buffer1, ptr nocapture reado ; CHECK: # %bb.0: ; CHECK-NEXT: lwbrx 3, 0, 3 ; CHECK-NEXT: lwbrx 4, 0, 4 +; CHECK-NEXT: cmplw 3, 4 ; CHECK-NEXT: sub 5, 4, 3 -; CHECK-NEXT: sub 3, 3, 4 +; CHECK-NEXT: li 3, -1 ; CHECK-NEXT: rldicl 5, 5, 1, 63 -; CHECK-NEXT: rldicl 3, 3, 1, 63 -; CHECK-NEXT: sub 3, 5, 3 -; CHECK-NEXT: extsw 3, 3 +; CHECK-NEXT: isellt 3, 3, 5 ; CHECK-NEXT: blr %call = tail call signext i32 @memcmp(ptr %buffer1, ptr %buffer2, i64 4) ret i32 %call |