brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.0 KiB · 37e5897 Raw
133 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 i8 0, align 110 11; Function Attrs: norecurse nounwind readnone12define dso_local signext i32 @test_igeuc(i8 zeroext %a, i8 zeroext %b) {13; CHECK-LABEL: test_igeuc:14; CHECK:       # %bb.0: # %entry15; CHECK-NEXT:    sub r3, r3, r416; CHECK-NEXT:    not r3, r317; CHECK-NEXT:    rldicl r3, r3, 1, 6318; CHECK-NEXT:    blr19entry:20  %cmp = icmp uge i8 %a, %b21  %conv2 = zext i1 %cmp to i3222  ret i32 %conv223}24 25; Function Attrs: norecurse nounwind readnone26define dso_local signext i32 @test_igeuc_sext(i8 zeroext %a, i8 zeroext %b) {27; CHECK-LABEL: test_igeuc_sext:28; CHECK:       # %bb.0: # %entry29; CHECK-NEXT:    sub r3, r3, r430; CHECK-NEXT:    rldicl r3, r3, 1, 6331; CHECK-NEXT:    addi r3, r3, -132; CHECK-NEXT:    blr33entry:34  %cmp = icmp uge i8 %a, %b35  %sub = sext i1 %cmp to i3236  ret i32 %sub37 38}39 40; Function Attrs: norecurse nounwind readnone41define dso_local signext i32 @test_igeuc_z(i8 zeroext %a) {42; CHECK-LABEL: test_igeuc_z:43; CHECK:       # %bb.0: # %entry44; CHECK-NEXT:    li r3, 145; CHECK-NEXT:    blr46entry:47  %cmp = icmp uge i8 %a, 048  %conv2 = zext i1 %cmp to i3249  ret i32 %conv250}51 52; Function Attrs: norecurse nounwind readnone53define dso_local signext i32 @test_igeuc_sext_z(i8 zeroext %a) {54; CHECK-LABEL: test_igeuc_sext_z:55; CHECK:       # %bb.0: # %entry56; CHECK-NEXT:    li r3, -157; CHECK-NEXT:    blr58entry:59  %cmp = icmp uge i8 %a, 060  %conv2 = sext i1 %cmp to i3261  ret i32 %conv262}63 64; Function Attrs: norecurse nounwind65define dso_local void @test_igeuc_store(i8 zeroext %a, i8 zeroext %b) {66; CHECK-LABEL: test_igeuc_store:67; CHECK:       # %bb.0: # %entry68; CHECK-NEXT:    sub r3, r3, r469; CHECK-NEXT:    addis r4, r2, glob@toc@ha70; CHECK-NEXT:    not r3, r371; CHECK-NEXT:    rldicl r3, r3, 1, 6372; CHECK-NEXT:    stb r3, glob@toc@l(r4)73; CHECK-NEXT:    blr74entry:75  %cmp = icmp uge i8 %a, %b76  %conv3 = zext i1 %cmp to i877  store i8 %conv3, ptr @glob78  ret void79}80 81; Function Attrs: norecurse nounwind82define dso_local void @test_igeuc_sext_store(i8 zeroext %a, i8 zeroext %b) {83; CHECK-LABEL: test_igeuc_sext_store:84; CHECK:       # %bb.0: # %entry85; CHECK-NEXT:    sub r3, r3, r486; CHECK-NEXT:    addis r4, r2, glob@toc@ha87; CHECK-NEXT:    rldicl r3, r3, 1, 6388; CHECK-NEXT:    addi r3, r3, -189; CHECK-NEXT:    stb r3, glob@toc@l(r4)90; CHECK-NEXT:    blr91entry:92  %cmp = icmp uge i8 %a, %b93  %conv3 = sext i1 %cmp to i894  store i8 %conv3, ptr @glob95  ret void96; CHECK-TBD-LABEL: @test_igeuc_sext_store97; CHECK-TBD: subf [[REG1:r[0-9]+]], r3, r498; CHECK-TBD: rldicl [[REG2:r[0-9]+]], [[REG1]], 1, 6399; CHECK-TBD: addi [[REG3:r[0-9]+]], [[REG2]], -1100; CHECK-TBD: stb  [[REG3]]101; CHECK-TBD: blr102}103 104; Function Attrs : norecurse nounwind105define dso_local void @test_igeuc_z_store(i8 zeroext %a) {106; CHECK-LABEL: test_igeuc_z_store:107; CHECK:       # %bb.0: # %entry108; CHECK-NEXT:    addis r3, r2, glob@toc@ha109; CHECK-NEXT:    li r4, 1110; CHECK-NEXT:    stb r4, glob@toc@l(r3)111; CHECK-NEXT:    blr112entry:113  %cmp = icmp uge i8 %a, 0114  %conv3 = zext i1 %cmp to i8115  store i8 %conv3, ptr @glob116  ret void117}118 119; Function Attrs: norecurse nounwind120define dso_local void @test_igeuc_sext_z_store(i8 zeroext %a) {121; CHECK-LABEL: test_igeuc_sext_z_store:122; CHECK:       # %bb.0: # %entry123; CHECK-NEXT:    addis r3, r2, glob@toc@ha124; CHECK-NEXT:    li r4, -1125; CHECK-NEXT:    stb r4, glob@toc@l(r3)126; CHECK-NEXT:    blr127entry:128  %cmp = icmp uge i8 %a, 0129  %conv3 = sext i1 %cmp to i8130  store i8 %conv3, ptr @glob131  ret void132}133