brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 5fe7861 Raw
195 lines · plain
1; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF642 3define zeroext i1 @rettrue() nounwind {4entry:5; ELF64-LABEL: rettrue6; ELF64: li 3, 17; ELF64: blr8  ret i1 true9}10 11define zeroext i1 @retfalse() nounwind {12entry:13; ELF64-LABEL: retfalse14; ELF64: li 3, 015; ELF64: blr16  ret i1 false17}18 19define signext i1 @retstrue() nounwind {20entry:21; ELF64-LABEL: retstrue22; ELF64: li 3, -123; ELF64: blr24  ret i1 true25}26 27define signext i1 @retsfalse() nounwind {28entry:29; ELF64-LABEL: retsfalse30; ELF64: li 3, 031; ELF64: blr32  ret i1 false33}34 35define signext i8 @ret2(i8 signext %a) nounwind {36entry:37; ELF64-LABEL: ret238; ELF64: extsb39; ELF64: blr40  ret i8 %a41}42 43define zeroext i8 @ret3(i8 signext %a) nounwind {44entry:45; ELF64-LABEL: ret346; ELF64: clrldi {{[0-9]+}}, {{[0-9]+}}, 5647; ELF64: blr48  ret i8 %a49}50 51define signext i16 @ret4(i16 signext %a) nounwind {52entry:53; ELF64-LABEL: ret454; ELF64: extsh55; ELF64: blr56  ret i16 %a57}58 59define zeroext i16 @ret5(i16 signext %a) nounwind {60entry:61; ELF64-LABEL: ret562; ELF64: clrldi {{[0-9]+}}, {{[0-9]+}}, 4863; ELF64: blr64  ret i16 %a65}66 67define i16 @ret6(i16 %a) nounwind {68entry:69; ELF64-LABEL: ret670; ELF64: clrldi {{[0-9]+}}, {{[0-9]+}}, 4871; ELF64: blr72  ret i16 %a73}74 75define signext i32 @ret7(i32 signext %a) nounwind {76entry:77; ELF64-LABEL: ret778; ELF64: extsw79; ELF64: blr80  ret i32 %a81}82 83define zeroext i32 @ret8(i32 signext %a) nounwind {84entry:85; ELF64-LABEL: ret886; ELF64: clrldi {{[0-9]+}}, {{[0-9]+}}, 3287; ELF64: blr88  ret i32 %a89}90 91define i32 @ret9(i32 %a) nounwind {92entry:93; ELF64-LABEL: ret994; ELF64: clrldi {{[0-9]+}}, {{[0-9]+}}, 3295; ELF64: blr96  ret i32 %a97}98 99define i64 @ret10(i64 %a) nounwind {100entry:101; ELF64-LABEL: ret10102; ELF64-NOT: exts103; ELF64-NOT: clrldi104; ELF64-NOT: rldicl105; ELF64: blr106  ret i64 %a107}108 109define float @ret11(float %a) nounwind {110entry:111; ELF64-LABEL: ret11112; ELF64: blr113  ret float %a114}115 116define double @ret12(double %a) nounwind {117entry:118; ELF64-LABEL: ret12119; ELF64: blr120  ret double %a121}122 123define i8 @ret13() nounwind {124entry:125; ELF64-LABEL: ret13126; ELF64: li127; ELF64: blr128  ret i8 15;129}130 131define i16 @ret14() nounwind {132entry:133; ELF64-LABEL: ret14134; ELF64: li135; ELF64: blr136  ret i16 -225;137}138 139define i32 @ret15() nounwind {140entry:141; ELF64-LABEL: ret15142; ELF64: lis143; ELF64: ori144; ELF64: blr145  ret i32 278135;146}147 148define i64 @ret16() nounwind {149entry:150; ELF64-LABEL: ret16151; ELF64: li152; ELF64: sldi153; ELF64: oris154; ELF64: ori155; ELF64: blr156  ret i64 27813515225;157}158 159define float @ret17() nounwind {160entry:161; ELF64-LABEL: ret17162; ELF64: addis163; ELF64: lfs164; ELF64: blr165  ret float 2.5;166}167 168define double @ret18() nounwind {169entry:170; ELF64-LABEL: ret18171; ELF64: addis172; ELF64: lfd173; ELF64: blr174  ret double 2.5e-33;175}176 177define zeroext i32 @ret19() nounwind {178entry:179; ELF64-LABEL: ret19180; ELF64: li181; ELF64: oris182; ELF64: ori183; ELF64: blr184  ret i32 -1185}186 187define zeroext i16 @ret20() nounwind {188entry:189; ELF64-LABEL: ret20190; ELF64: lis{{.*}}0191; ELF64: ori{{.*}}32768192; ELF64: blr193  ret i16 32768194}195