68 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -O2 \3; RUN: -ppc-gpr-icmps=all -ppc-asm-full-reg-names -mcpu=pwr8 < %s | FileCheck %s \4; RUN: --implicit-check-not cmpw --implicit-check-not cmpd --implicit-check-not cmpl5; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -O2 \6; RUN: -ppc-gpr-icmps=all -ppc-asm-full-reg-names -mcpu=pwr8 < %s | FileCheck %s \7; RUN: --implicit-check-not cmpw --implicit-check-not cmpd --implicit-check-not cmpl8 9@glob = dso_local local_unnamed_addr global i32 0, align 410 11; Function Attrs: norecurse nounwind readnone12define dso_local signext i32 @test_iltui(i32 zeroext %a, i32 zeroext %b) {13; CHECK-LABEL: test_iltui:14; CHECK: # %bb.0: # %entry15; CHECK-NEXT: sub r3, r3, r416; CHECK-NEXT: rldicl r3, r3, 1, 6317; CHECK-NEXT: blr18entry:19 %cmp = icmp ult i32 %a, %b20 %conv = zext i1 %cmp to i3221 ret i32 %conv22}23 24; Function Attrs: norecurse nounwind readnone25define dso_local signext i32 @test_iltui_sext(i32 zeroext %a, i32 zeroext %b) {26; CHECK-LABEL: test_iltui_sext:27; CHECK: # %bb.0: # %entry28; CHECK-NEXT: sub r3, r3, r429; CHECK-NEXT: sradi r3, r3, 6330; CHECK-NEXT: blr31entry:32 %cmp = icmp ult i32 %a, %b33 %sub = sext i1 %cmp to i3234 ret i32 %sub35}36 37; Function Attrs: norecurse nounwind38define dso_local void @test_iltui_store(i32 zeroext %a, i32 zeroext %b) {39; CHECK-LABEL: test_iltui_store:40; CHECK: # %bb.0: # %entry41; CHECK-NEXT: sub r3, r3, r442; CHECK-NEXT: addis r4, r2, glob@toc@ha43; CHECK-NEXT: rldicl r3, r3, 1, 6344; CHECK-NEXT: stw r3, glob@toc@l(r4)45; CHECK-NEXT: blr46entry:47 %cmp = icmp ult i32 %a, %b48 %conv = zext i1 %cmp to i3249 store i32 %conv, ptr @glob, align 450 ret void51}52 53; Function Attrs: norecurse nounwind54define dso_local void @test_iltui_sext_store(i32 zeroext %a, i32 zeroext %b) {55; CHECK-LABEL: test_iltui_sext_store:56; CHECK: # %bb.0: # %entry57; CHECK-NEXT: sub r3, r3, r458; CHECK-NEXT: addis r4, r2, glob@toc@ha59; CHECK-NEXT: sradi r3, r3, 6360; CHECK-NEXT: stw r3, glob@toc@l(r4)61; CHECK-NEXT: blr62entry:63 %cmp = icmp ult i32 %a, %b64 %sub = sext i1 %cmp to i3265 store i32 %sub, ptr @glob, align 466 ret void67}68