57 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mcpu=pwr8 -ppc-asm-full-reg-names -mtriple=powerpc64-ibm-aix < %s | \3; RUN: FileCheck %s --check-prefix=CHECK-AIX64-32-P84 5; RUN: llc -mcpu=pwr10 -ppc-asm-full-reg-names -mtriple=powerpc64-ibm-aix < %s | \6; RUN: FileCheck %s --check-prefix=CHECK-AIX64-32-P107 8; RUN: llc -mcpu=pwr8 -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu < %s | \9; RUN: FileCheck %s --check-prefix=CHECK-LINUX64-P810 11; RUN: llc -mcpu=pwr10 -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu < %s | \12; RUN: FileCheck %s --check-prefix=CHECK-LINUX64-P1013 14define dso_local signext range(i32 0, 2) i32 @cmpeq16(ptr noundef readonly captures(none) %a, ptr noundef readonly captures(none) %b) {15; CHECK-AIX64-32-P8-LABEL: cmpeq16:16; CHECK-AIX64-32-P8: # %bb.0: # %entry17; CHECK-AIX64-32-P8-NEXT: lxvw4x vs34, 0, r418; CHECK-AIX64-32-P8-NEXT: lxvw4x vs35, 0, r319; CHECK-AIX64-32-P8-NEXT: vcmpequb. v2, v3, v220; CHECK-AIX64-32-P8-NEXT: mfocrf r3, 221; CHECK-AIX64-32-P8-NEXT: rlwinm r3, r3, 25, 31, 3122; CHECK-AIX64-32-P8-NEXT: blr23;24; CHECK-AIX64-32-P10-LABEL: cmpeq16:25; CHECK-AIX64-32-P10: # %bb.0: # %entry26; CHECK-AIX64-32-P10-NEXT: lxv vs34, 0(r4)27; CHECK-AIX64-32-P10-NEXT: lxv vs35, 0(r3)28; CHECK-AIX64-32-P10-NEXT: vcmpequb. v2, v3, v229; CHECK-AIX64-32-P10-NEXT: setbc r3, 4*cr6+lt30; CHECK-AIX64-32-P10-NEXT: blr31;32; CHECK-LINUX64-P8-LABEL: cmpeq16:33; CHECK-LINUX64-P8: # %bb.0: # %entry34; CHECK-LINUX64-P8-NEXT: lxvd2x vs34, 0, r435; CHECK-LINUX64-P8-NEXT: lxvd2x vs35, 0, r336; CHECK-LINUX64-P8-NEXT: vcmpequb. v2, v3, v237; CHECK-LINUX64-P8-NEXT: mfocrf r3, 238; CHECK-LINUX64-P8-NEXT: rlwinm r3, r3, 25, 31, 3139; CHECK-LINUX64-P8-NEXT: blr40;41; CHECK-LINUX64-P10-LABEL: cmpeq16:42; CHECK-LINUX64-P10: # %bb.0: # %entry43; CHECK-LINUX64-P10-NEXT: lxv vs34, 0(r4)44; CHECK-LINUX64-P10-NEXT: lxv vs35, 0(r3)45; CHECK-LINUX64-P10-NEXT: vcmpequb. v2, v3, v246; CHECK-LINUX64-P10-NEXT: setbc r3, 4*cr6+lt47; CHECK-LINUX64-P10-NEXT: blr48entry:49 %bcmp = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(16) %a, ptr noundef nonnull dereferenceable(16) %b, i64 16)50 %cmp = icmp eq i32 %bcmp, 051 %conv = zext i1 %cmp to i3252 ret i32 %conv53}54 55declare signext i32 @bcmp(ptr captures(none), ptr captures(none), i64)56 57