brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.4 KiB · ce7d7d2 Raw
286 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3; CHECK-LABEL: @t14; CHECK: r{{[0-9]+}}:{{[0-9]+}} += dfmpylh(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}})5define dso_local double @t1(double %a, double %b, double %c) local_unnamed_addr #0 {6entry:7  %0 = tail call double @llvm.hexagon.F2.dfmpylh(double %a, double %b, double %c) #28  ret double %09}10 11declare double @llvm.hexagon.F2.dfmpylh(double, double, double) #112 13; CHECK-LABEL: @t214; CHECK: r{{[0-9]+}}:{{[0-9]+}} += dfmpyhh(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}})15define dso_local double @t2(double %a, double %b, double %c) local_unnamed_addr #0 {16entry:17  %0 = tail call double @llvm.hexagon.F2.dfmpyhh(double %a, double %b, double %c) #218  ret double %019}20 21declare double @llvm.hexagon.F2.dfmpyhh(double, double, double) #122 23; CHECK-LABEL: @t324; CHECK: r{{[0-9]+}}:{{[0-9]+}} = dfmax(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}})25define dso_local double @t3(double %a, double %b) local_unnamed_addr #0 {26entry:27  %0 = tail call double @llvm.hexagon.F2.dfmax(double %a, double %b) #228  ret double %029}30 31declare double @llvm.hexagon.F2.dfmax(double, double) #132 33; CHECK-LABEL: @t434; CHECK: r{{[0-9]+}}:{{[0-9]+}} = dfmin(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}})35define dso_local double @t4(double %a, double %b) local_unnamed_addr #0 {36entry:37  %0 = tail call double @llvm.hexagon.F2.dfmin(double %a, double %b) #238  ret double %039}40 41declare double @llvm.hexagon.F2.dfmin(double, double) #142 43; CHECK-LABEL: @t544; CHECK: r{{[0-9]+}}:{{[0-9]+}} = dfmpyfix(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}})45define dso_local double @t5(double %a, double %b) local_unnamed_addr #0 {46entry:47  %0 = tail call double @llvm.hexagon.F2.dfmpyfix(double %a, double %b) #248  ret double %049}50 51declare double @llvm.hexagon.F2.dfmpyfix(double, double) #152 53; CHECK-LABEL: @t654; CHECK: r{{[0-9]+}}:{{[0-9]+}} = dfmpyll(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}})55define dso_local double @t6(double %a, double %b) local_unnamed_addr #0 {56entry:57  %0 = tail call double @llvm.hexagon.F2.dfmpyll(double %a, double %b) #258  ret double %059}60 61declare double @llvm.hexagon.F2.dfmpyll(double, double) #162 63; CHECK-LABEL: @t764; CHECK:r{{[0-9]+}}:{{[0-9]+}} = cmpyrw(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}}*)65define dso_local i64 @t7(i64 %a, i64 %b) local_unnamed_addr #0 {66entry:67  %0 = tail call i64 @llvm.hexagon.M7.vdmpy(i64 %a, i64 %b)68  ret i64 %069}70 71declare i64 @llvm.hexagon.M7.vdmpy(i64, i64) #172 73; CHECK-LABEL: @t874; CHECK:r{{[0-9]+}}:{{[0-9]+}} += cmpyrw(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}}*)75define dso_local i64 @t8(i64 %a, i64 %b, i64 %c) local_unnamed_addr #0 {76entry:77  %0 = tail call i64 @llvm.hexagon.M7.vdmpy.acc(i64 %a, i64 %b, i64 %c)78  ret i64 %079}80 81declare i64 @llvm.hexagon.M7.vdmpy.acc(i64, i64, i64) #182 83; CHECK-LABEL: @t984; CHECK: r1:0 = cmpyrw(r1:0,r3:2)85define i64 @t9(i64 %rss, i64 %rtt) local_unnamed_addr #0 {86entry:87  %0 = tail call i64 @llvm.hexagon.M7.dcmpyrw(i64 %rss, i64 %rtt)88  ret i64 %089}90 91declare i64 @llvm.hexagon.M7.dcmpyrw(i64, i64) #192 93; CHECK-LABEL: @t1094; CHECK: r1:0 += cmpyrw(r3:2,r5:4)95define i64 @t10(i64 %rxx, i64 %rss, i64 %rtt) local_unnamed_addr #0 {96entry:97  %0 = tail call i64 @llvm.hexagon.M7.dcmpyrw.acc(i64 %rxx, i64 %rss, i64 %rtt)98  ret i64 %099}100 101declare i64 @llvm.hexagon.M7.dcmpyrw.acc(i64, i64, i64) #1102 103; CHECK-LABEL: @t11104; CHECK: r1:0 = cmpyrw(r1:0,r3:2*)105define i64 @t11(i64 %rss, i64 %rtt) local_unnamed_addr #0 {106entry:107  %0 = tail call i64 @llvm.hexagon.M7.dcmpyrwc(i64 %rss, i64 %rtt)108  ret i64 %0109}110 111declare i64 @llvm.hexagon.M7.dcmpyrwc(i64, i64) #1112 113; CHECK-LABEL: @t12114; CHECK: r1:0 += cmpyrw(r3:2,r5:4*)115define i64 @t12(i64 %rxx, i64 %rss, i64 %rtt) local_unnamed_addr #0 {116entry:117  %0 = tail call i64 @llvm.hexagon.M7.dcmpyrwc.acc(i64 %rxx, i64 %rss, i64 %rtt)118  ret i64 %0119}120 121declare i64 @llvm.hexagon.M7.dcmpyrwc.acc(i64, i64, i64) #1122 123; CHECK-LABEL: @t13124; CHECK: r1:0 = cmpyiw(r1:0,r3:2)125define i64 @t13(i64 %rss, i64 %rtt) local_unnamed_addr #0 {126entry:127  %0 = tail call i64 @llvm.hexagon.M7.dcmpyiw(i64 %rss, i64 %rtt)128  ret i64 %0129}130 131declare i64 @llvm.hexagon.M7.dcmpyiw(i64, i64) #1132 133; CHECK-LABEL: @t14134; CHECK: r1:0 += cmpyiw(r3:2,r5:4)135define i64 @t14(i64 %rxx, i64 %rss, i64 %rtt) local_unnamed_addr #0 {136entry:137  %0 = tail call i64 @llvm.hexagon.M7.dcmpyiw.acc(i64 %rxx, i64 %rss, i64 %rtt)138  ret i64 %0139}140 141declare i64 @llvm.hexagon.M7.dcmpyiw.acc(i64, i64, i64) #1142 143; CHECK-LABEL: @t15144; CHECK: r1:0 = cmpyiw(r1:0,r3:2*)145define i64 @t15(i64 %rss, i64 %rtt) local_unnamed_addr #0 {146entry:147  %0 = tail call i64 @llvm.hexagon.M7.dcmpyiwc(i64 %rss, i64 %rtt)148  ret i64 %0149}150 151declare i64 @llvm.hexagon.M7.dcmpyiwc(i64, i64) #1152 153; CHECK-LABEL: @t16154; CHECK: r1:0 += cmpyiw(r3:2,r5:4*)155define i64 @t16(i64 %rxx, i64 %rss, i64 %rtt) local_unnamed_addr #0 {156entry:157  %0 = tail call i64 @llvm.hexagon.M7.dcmpyiwc.acc(i64 %rxx, i64 %rss, i64 %rtt)158  ret i64 %0159}160 161declare i64 @llvm.hexagon.M7.dcmpyiwc.acc(i64, i64, i64) #1162 163; CHECK-LABEL: @t17164; CHECK: r0 = cmpyrw(r1:0,r3:2):<<1:sat165define i32 @t17(i64 %rss, i64 %rtt) local_unnamed_addr #0 {166entry:167  %0 = tail call i32 @llvm.hexagon.M7.wcmpyrw(i64 %rss, i64 %rtt)168  ret i32 %0169}170 171declare i32 @llvm.hexagon.M7.wcmpyrw(i64, i64) #1172 173; CHECK-LABEL: @t18174; CHECK: r0 = cmpyrw(r1:0,r3:2*):<<1:sat175define i32 @t18(i64 %rss, i64 %rtt) local_unnamed_addr #0 {176entry:177  %0 = tail call i32 @llvm.hexagon.M7.wcmpyrwc(i64 %rss, i64 %rtt)178  ret i32 %0179}180 181declare i32 @llvm.hexagon.M7.wcmpyrwc(i64, i64) #1182 183; CHECK-LABEL: @t19184; CHECK: r0 = cmpyiw(r1:0,r3:2):<<1:sat185define i32 @t19(i64 %rss, i64 %rtt) local_unnamed_addr #0 {186entry:187  %0 = tail call i32 @llvm.hexagon.M7.wcmpyiw(i64 %rss, i64 %rtt)188  ret i32 %0189}190 191declare i32 @llvm.hexagon.M7.wcmpyiw(i64, i64) #1192 193; CHECK-LABEL: @t20194; CHECK: r0 = cmpyiw(r1:0,r3:2*):<<1:sat195define i32 @t20(i64 %rss, i64 %rtt) local_unnamed_addr #0 {196entry:197  %0 = tail call i32 @llvm.hexagon.M7.wcmpyiwc(i64 %rss, i64 %rtt)198  ret i32 %0199}200 201declare i32 @llvm.hexagon.M7.wcmpyiwc(i64, i64) #1202 203; CHECK-LABEL: @t21204; CHECK: r0 = cmpyrw(r1:0,r3:2):<<1:rnd:sat205define i32 @t21(i64 %rss, i64 %rtt) local_unnamed_addr #0 {206entry:207  %0 = tail call i32 @llvm.hexagon.M7.wcmpyrw.rnd(i64 %rss, i64 %rtt)208  ret i32 %0209}210 211declare i32 @llvm.hexagon.M7.wcmpyrw.rnd(i64, i64) #1212 213; CHECK-LABEL: @t22214; CHECK: r0 = cmpyrw(r1:0,r3:2*):<<1:rnd:sat215define i32 @t22(i64 %rss, i64 %rtt) local_unnamed_addr #0 {216entry:217  %0 = tail call i32 @llvm.hexagon.M7.wcmpyrwc.rnd(i64 %rss, i64 %rtt)218  ret i32 %0219}220 221declare i32 @llvm.hexagon.M7.wcmpyrwc.rnd(i64, i64) #1222 223; CHECK-LABEL: @t23224; CHECK: r0 = cmpyiw(r1:0,r3:2):<<1:rnd:sat225define i32 @t23(i64 %rss, i64 %rtt) local_unnamed_addr #0 {226entry:227  %0 = tail call i32 @llvm.hexagon.M7.wcmpyiw.rnd(i64 %rss, i64 %rtt)228  ret i32 %0229}230 231declare i32 @llvm.hexagon.M7.wcmpyiw.rnd(i64, i64) #1232 233; CHECK-LABEL: @t24234; CHECK: r0 = cmpyiw(r1:0,r3:2*):<<1:rnd:sat235define i32 @t24(i64 %rss, i64 %rtt) local_unnamed_addr #0 {236entry:237  %0 = tail call i32 @llvm.hexagon.M7.wcmpyiwc.rnd(i64 %rss, i64 %rtt)238  ret i32 %0239}240 241declare i32 @llvm.hexagon.M7.wcmpyiwc.rnd(i64, i64) #1242 243; CHECK-LABEL: @t25244; CHECK: r1:0 = cround(r1:0,#0)245define i64 @t25(i64 %rss) local_unnamed_addr #0 {246entry:247  %0 = tail call i64 @llvm.hexagon.A7.croundd.ri(i64 %rss, i32 0)248  ret i64 %0249}250 251declare i64 @llvm.hexagon.A7.croundd.ri(i64, i32) #1252 253; CHECK-LABEL: @t26254; CHECK: r1:0 = cround(r1:0,r2)255define i64 @t26(i64 %rss, i32 %rt) local_unnamed_addr #0 {256entry:257  %0 = tail call i64 @llvm.hexagon.A7.croundd.rr(i64 %rss, i32 %rt)258  ret i64 %0259}260 261declare i64 @llvm.hexagon.A7.croundd.rr(i64, i32) #1262 263; CHECK-LABEL: @t27264; CHECK: r0 = clip(r0,#0)265define i32 @t27(i32 %rs) local_unnamed_addr #0 {266entry:267  %0 = tail call i32 @llvm.hexagon.A7.clip(i32 %rs, i32 0)268  ret i32 %0269}270 271declare i32 @llvm.hexagon.A7.clip(i32, i32) #1272 273; CHECK-LABEL: @t28274; CHECK: r1:0 = vclip(r1:0,#0)275define i64 @t28(i64 %rs) local_unnamed_addr #0 {276entry:277  %0 = tail call i64 @llvm.hexagon.A7.vclip(i64 %rs, i32 0)278  ret i64 %0279}280 281declare i64 @llvm.hexagon.A7.vclip(i64, i32) #1282 283attributes #0 = { nounwind readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="hexagonv67" "target-features"="-long-calls" "unsafe-fp-math"="false" "use-soft-float"="false" }284attributes #1 = { readnone }285attributes #2 = { nounwind }286