brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.3 KiB · b40a21b Raw
140 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mcpu=pwr8 -mtriple=powerpc64-unknown-unknown %s -o - | FileCheck %s3 4define i32 @xori64i32(i64 %a) {5; CHECK-LABEL: xori64i32:6; CHECK:       # %bb.0:7; CHECK-NEXT:    sradi 3, 3, 638; CHECK-NEXT:    xori 3, 3, 655359; CHECK-NEXT:    xoris 3, 3, 3276710; CHECK-NEXT:    blr11  %shr4 = ashr i64 %a, 6312  %conv5 = trunc i64 %shr4 to i3213  %xor = xor i32 %conv5, 214748364714  ret i32 %xor15}16 17define i64 @selecti64i64(i64 %a) {18; CHECK-LABEL: selecti64i64:19; CHECK:       # %bb.0:20; CHECK-NEXT:    sradi 3, 3, 6321; CHECK-NEXT:    xori 3, 3, 6553522; CHECK-NEXT:    xoris 3, 3, 3276723; CHECK-NEXT:    blr24  %c = icmp sgt i64 %a, -125  %s = select i1 %c, i64 2147483647, i64 -214748364826  ret i64 %s27}28 29define i32 @selecti64i32(i64 %a) {30; CHECK-LABEL: selecti64i32:31; CHECK:       # %bb.0:32; CHECK-NEXT:    sradi 3, 3, 6333; CHECK-NEXT:    xori 3, 3, 6553534; CHECK-NEXT:    xoris 3, 3, 3276735; CHECK-NEXT:    blr36  %c = icmp sgt i64 %a, -137  %s = select i1 %c, i32 2147483647, i32 -214748364838  ret i32 %s39}40 41define i64 @selecti32i64(i32 %a) {42; CHECK-LABEL: selecti32i64:43; CHECK:       # %bb.0:44; CHECK-NEXT:    srawi 3, 3, 3145; CHECK-NEXT:    xori 3, 3, 6553546; CHECK-NEXT:    xoris 3, 3, 3276747; CHECK-NEXT:    blr48  %c = icmp sgt i32 %a, -149  %s = select i1 %c, i64 2147483647, i64 -214748364850  ret i64 %s51}52 53 54 55define i8 @xori32i8(i32 %a) {56; CHECK-LABEL: xori32i8:57; CHECK:       # %bb.0:58; CHECK-NEXT:    srawi 3, 3, 3159; CHECK-NEXT:    xori 3, 3, 8460; CHECK-NEXT:    blr61  %shr4 = ashr i32 %a, 3162  %conv5 = trunc i32 %shr4 to i863  %xor = xor i8 %conv5, 8464  ret i8 %xor65}66 67define i32 @selecti32i32(i32 %a) {68; CHECK-LABEL: selecti32i32:69; CHECK:       # %bb.0:70; CHECK-NEXT:    srawi 3, 3, 3171; CHECK-NEXT:    xori 3, 3, 8472; CHECK-NEXT:    blr73  %c = icmp sgt i32 %a, -174  %s = select i1 %c, i32 84, i32 -8575  ret i32 %s76}77 78define i8 @selecti32i8(i32 %a) {79; CHECK-LABEL: selecti32i8:80; CHECK:       # %bb.0:81; CHECK-NEXT:    srawi 3, 3, 3182; CHECK-NEXT:    xori 3, 3, 8483; CHECK-NEXT:    blr84  %c = icmp sgt i32 %a, -185  %s = select i1 %c, i8 84, i8 -8586  ret i8 %s87}88 89define i32 @selecti8i32(i8 %a) {90; CHECK-LABEL: selecti8i32:91; CHECK:       # %bb.0:92; CHECK-NEXT:    extsb 3, 393; CHECK-NEXT:    srawi 3, 3, 794; CHECK-NEXT:    xori 3, 3, 8495; CHECK-NEXT:    blr96  %c = icmp sgt i8 %a, -197  %s = select i1 %c, i32 84, i32 -8598  ret i32 %s99}100 101define i32 @icmpasreq(i32 %input, i32 %a, i32 %b) {102; CHECK-LABEL: icmpasreq:103; CHECK:       # %bb.0:104; CHECK-NEXT:    cmpwi 3, 0105; CHECK-NEXT:    isellt 3, 4, 5106; CHECK-NEXT:    blr107  %sh = ashr i32 %input, 31108  %c = icmp eq i32 %sh, -1109  %s = select i1 %c, i32 %a, i32 %b110  ret i32 %s111}112 113define i32 @icmpasrne(i32 %input, i32 %a, i32 %b) {114; CHECK-LABEL: icmpasrne:115; CHECK:       # %bb.0:116; CHECK-NEXT:    cmpwi 3, -1117; CHECK-NEXT:    iselgt 3, 4, 5118; CHECK-NEXT:    blr119  %sh = ashr i32 %input, 31120  %c = icmp ne i32 %sh, -1121  %s = select i1 %c, i32 %a, i32 %b122  ret i32 %s123}124 125define i32 @oneusecmp(i32 %a, i32 %b, i32 %d) {126; CHECK-LABEL: oneusecmp:127; CHECK:       # %bb.0:128; CHECK-NEXT:    cmpwi 3, 0129; CHECK-NEXT:    srawi 6, 3, 31130; CHECK-NEXT:    xori 6, 6, 127131; CHECK-NEXT:    isellt 3, 5, 4132; CHECK-NEXT:    add 3, 6, 3133; CHECK-NEXT:    blr134  %c = icmp sle i32 %a, -1135  %s = select i1 %c, i32 -128, i32 127136  %s2 = select i1 %c, i32 %d, i32 %b137  %x = add i32 %s, %s2138  ret i32 %x139}140