brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.3 KiB · 50a4945 Raw
109 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 i64 0, align 810 11; Function Attrs: norecurse nounwind readnone12define i64 @test_llltsll(i64 %a, i64 %b) {13; CHECK-LABEL: test_llltsll:14; CHECK:       # %bb.0: # %entry15; CHECK-NEXT:    sradi r5, r3, 6316; CHECK-NEXT:    rldicl r6, r4, 1, 6317; CHECK-NEXT:    subc r3, r3, r418; CHECK-NEXT:    adde r3, r6, r519; CHECK-NEXT:    xori r3, r3, 120; CHECK-NEXT:    blr21entry:22  %cmp = icmp slt i64 %a, %b23  %conv1 = zext i1 %cmp to i6424  ret i64 %conv125}26 27; Function Attrs: norecurse nounwind readnone28define i64 @test_llltsll_sext(i64 %a, i64 %b) {29; CHECK-LABEL: test_llltsll_sext:30; CHECK:       # %bb.0: # %entry31; CHECK-NEXT:    sradi r5, r3, 6332; CHECK-NEXT:    rldicl r6, r4, 1, 6333; CHECK-NEXT:    subc r3, r3, r434; CHECK-NEXT:    adde r3, r6, r535; CHECK-NEXT:    xori r3, r3, 136; CHECK-NEXT:    neg r3, r337; CHECK-NEXT:    blr38entry:39  %cmp = icmp slt i64 %a, %b40  %conv1 = sext i1 %cmp to i6441  ret i64 %conv142}43 44; Function Attrs: norecurse nounwind readnone45define i64 @test_llltsll_sext_z(i64 %a) {46; CHECK-LABEL: test_llltsll_sext_z:47; CHECK:       # %bb.0: # %entry48; CHECK-NEXT:    sradi r3, r3, 6349; CHECK-NEXT:    blr50entry:51  %cmp = icmp slt i64 %a, 052  %sub = sext i1 %cmp to i6453  ret i64 %sub54}55 56; Function Attrs: norecurse nounwind57define dso_local void @test_llltsll_store(i64 %a, i64 %b) {58; CHECK-LABEL: test_llltsll_store:59; CHECK:       # %bb.0: # %entry60; CHECK-NEXT:    sradi r5, r3, 6361; CHECK-NEXT:    rldicl r6, r4, 1, 6362; CHECK-NEXT:    subc r3, r3, r463; CHECK-NEXT:    addis r4, r2, glob@toc@ha64; CHECK-NEXT:    adde r3, r6, r565; CHECK-NEXT:    xori r3, r3, 166; CHECK-NEXT:    std r3, glob@toc@l(r4)67; CHECK-NEXT:    blr68entry:69  %cmp = icmp slt i64 %a, %b70  %conv1 = zext i1 %cmp to i6471  store i64 %conv1, ptr @glob, align 872  ret void73}74 75; Function Attrs: norecurse nounwind76define dso_local void @test_llltsll_sext_store(i64 %a, i64 %b) {77; CHECK-LABEL: test_llltsll_sext_store:78; CHECK:       # %bb.0: # %entry79; CHECK-NEXT:    sradi r5, r3, 6380; CHECK-NEXT:    rldicl r6, r4, 1, 6381; CHECK-NEXT:    subc r3, r3, r482; CHECK-NEXT:    addis r4, r2, glob@toc@ha83; CHECK-NEXT:    adde r3, r6, r584; CHECK-NEXT:    xori r3, r3, 185; CHECK-NEXT:    neg r3, r386; CHECK-NEXT:    std r3, glob@toc@l(r4)87; CHECK-NEXT:    blr88entry:89  %cmp = icmp slt i64 %a, %b90  %conv1 = sext i1 %cmp to i6491  store i64 %conv1, ptr @glob, align 892  ret void93}94 95; Function Attrs: norecurse nounwind96define dso_local void @test_llltsll_sext_z_store(i64 %a) {97; CHECK-LABEL: test_llltsll_sext_z_store:98; CHECK:       # %bb.0: # %entry99; CHECK-NEXT:    sradi r3, r3, 63100; CHECK-NEXT:    addis r4, r2, glob@toc@ha101; CHECK-NEXT:    std r3, glob@toc@l(r4)102; CHECK-NEXT:    blr103entry:104  %cmp = icmp slt i64 %a, 0105  %sub = sext i1 %cmp to i64106  store i64 %sub, ptr @glob, align 8107  ret void108}109