59 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mtriple=powerpc64le-unknown-gnu-linux < %s | FileCheck %s -check-prefix=CHECK3 4define signext i32 @memcmp8(ptr nocapture readonly %buffer1, ptr nocapture readonly %buffer2) {5; CHECK-LABEL: memcmp8:6; CHECK: # %bb.0:7; CHECK-NEXT: ldbrx 3, 0, 38; CHECK-NEXT: ldbrx 4, 0, 49; CHECK-NEXT: subc 6, 4, 310; CHECK-NEXT: sub 5, 3, 411; CHECK-NEXT: subfe 3, 4, 312; CHECK-NEXT: subfe 3, 3, 513; CHECK-NEXT: extsw 3, 314; CHECK-NEXT: blr15 %call = tail call signext i32 @memcmp(ptr %buffer1, ptr %buffer2, i64 8)16 ret i32 %call17}18 19define signext i32 @memcmp4(ptr nocapture readonly %buffer1, ptr nocapture readonly %buffer2) {20; CHECK-LABEL: memcmp4:21; CHECK: # %bb.0:22; CHECK-NEXT: lwbrx 3, 0, 323; CHECK-NEXT: lwbrx 4, 0, 424; CHECK-NEXT: subc 6, 4, 325; CHECK-NEXT: sub 5, 3, 426; CHECK-NEXT: subfe 3, 4, 327; CHECK-NEXT: subfe 3, 3, 528; CHECK-NEXT: extsw 3, 329; CHECK-NEXT: blr30 %call = tail call signext i32 @memcmp(ptr %buffer1, ptr %buffer2, i64 4)31 ret i32 %call32}33 34define signext i32 @memcmp2(ptr nocapture readonly %buffer1, ptr nocapture readonly %buffer2) {35; CHECK-LABEL: memcmp2:36; CHECK: # %bb.0:37; CHECK-NEXT: lhbrx 3, 0, 338; CHECK-NEXT: lhbrx 4, 0, 439; CHECK-NEXT: sub 3, 3, 440; CHECK-NEXT: extsw 3, 341; CHECK-NEXT: blr42 %call = tail call signext i32 @memcmp(ptr %buffer1, ptr %buffer2, i64 2)43 ret i32 %call44}45 46define signext i32 @memcmp1(ptr nocapture readonly %buffer1, ptr nocapture readonly %buffer2) {47; CHECK-LABEL: memcmp1:48; CHECK: # %bb.0:49; CHECK-NEXT: lbz 3, 0(3)50; CHECK-NEXT: lbz 4, 0(4)51; CHECK-NEXT: sub 3, 3, 452; CHECK-NEXT: extsw 3, 353; CHECK-NEXT: blr54 %call = tail call signext i32 @memcmp(ptr %buffer1, ptr %buffer2, i64 1) #255 ret i32 %call56}57 58declare signext i32 @memcmp(ptr, ptr, i64)59